CASSANDRA-17695: Fix AbstractCell#toString for tombstoned multicell CollectionTypes #1705
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Calling
AbstractCell#toStringon a tombstoned multi-cellCollectionTypefor thedate,duration,smallint,time, andtinyinttypes produces aMarshalException. The root cause of the issueoccurs when
AbstractCell#toStringin turns callsAbstractType#getString(V value, ValueAccessor<V> acccesor).The
TypeSerializerperforms validation of the value. However, because this value is tombstonedthe size of the value is 0 which doesn't match the type value. The failed check throws a
MarshalException.In this commit, we check whether the Cell is tombstoned and add the "" string to the
output of the
AbstractCell#toStringmethod for tombstoned cells.