blambov commented on code in PR #4536:
URL: https://github.com/apache/cassandra/pull/4536#discussion_r2689831129
##########
src/java/org/apache/cassandra/db/memtable/Flushing.java:
##########
@@ -245,7 +245,8 @@ public static SSTableMultiWriter
createFlushWriter(ColumnFamilyStore cfs,
new SerializationHeader(true,
flushSet.metadata(),
flushSet.columns(),
-
flushSet.encodingStats()),
+
flushSet.encodingStats(),
+
flushSet.columnsChangedAfterCreation()),
Review Comment:
I don't see why we need to change anything on flush. The only reason to want
to do this is to make sure that the resulting sstable has metadata that
conforms to later flushes'. If we don't do it, it will conform with earlier
flushes'. Either of these is fine, any remapping and adjustment will be done on
sstable read.
The important thing is to have a definition that contains all columns
written to the memtable, and the column set collected by the memtable (and
given by the flush set) guarantees this.
If the objective is to remove newly deleted columns from it, we should be
using the metadata ref's updated state. But I'd strongly argue against this,
because it will likely break point-in-time restore.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]