Skip to content

Conversation

@ScottDugas
Copy link
Collaborator

This adds a new KeySpacePathSerializer that supports serializing DataInKeySpacePath.

In addition, I discovered that KeySpacePath doesn't actually validate the values being added.
I thought about adding the validation to the add method, but felt that was too risky, but I added the validation to the deserialization. This means that if you are currently using KeySpacePath with incorrect values, you may not be able to import the data. See: #3746

Resolves: #3745

I also added `equals` to the KeySpacePath implementation to describe
how two KeySpacePaths should be equal
Ideally this would be called when you call `KeySpacePath.add`, but,
since we've never had this validation, I'm scared that adding it
would break someone's production environment, and so I want to
limit it to the new feature. Later we can rollout this validation
universally in a controlled fashion.
@ScottDugas ScottDugas added the enhancement New feature or request label Nov 12, 2025
`ANY_VALUE` should use reference equality, but it also doesn't
override .equals so this doesn't really make a difference, but
is less surprising to readers.
The comparison in the logging was unnecessary, the toString for
`ANY_VALUE` is `*any*` which works just as well.
@ScottDugas ScottDugas force-pushed the data-in-keyspace-proto branch from cc5ee59 to b155824 Compare November 17, 2025 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Serialization for DataInKeySpacePath

1 participant