Merge branch 'cassandra-3.11' into trunk * cassandra-3.11: Dropping column results in "corrupt" SSTable
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3dabeeaa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3dabeeaa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3dabeeaa Branch: refs/heads/trunk Commit: 3dabeeaa29bfb6757e79f17031cb467b7b052fcd Parents: 23cd27f c0ac928 Author: Sylvain Lebresne <[email protected]> Authored: Mon Mar 27 12:04:20 2017 +0200 Committer: Sylvain Lebresne <[email protected]> Committed: Mon Mar 27 12:04:20 2017 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../db/columniterator/SSTableIterator.java | 78 ++++++++++++-------- .../columniterator/SSTableReversedIterator.java | 4 +- .../cassandra/db/rows/RangeTombstoneMarker.java | 6 ++ .../apache/cassandra/db/rows/Unfiltered.java | 2 + .../cassandra/db/rows/UnfilteredSerializer.java | 43 +++++++++-- .../cql3/validation/operations/AlterTest.java | 51 +++++++++++++ 7 files changed, 145 insertions(+), 40 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3dabeeaa/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3dabeeaa/src/java/org/apache/cassandra/db/columniterator/SSTableIterator.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3dabeeaa/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java index e67d164,88d415b..837562a --- a/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java +++ b/src/java/org/apache/cassandra/db/columniterator/SSTableReversedIterator.java @@@ -223,8 -228,12 +223,10 @@@ public class SSTableReversedIterator ex && !stopReadingDisk()) { Unfiltered unfiltered = deserializer.readNext(); - buffer.add(unfiltered); + // We may get empty row for the same reason expressed on UnfilteredSerializer.deserializeOne. - if (!unfiltered.isEmpty() && (!isFirst || includeFirst)) ++ if (!unfiltered.isEmpty()) + buffer.add(unfiltered); - isFirst = false; - if (unfiltered.isRangeTombstoneMarker()) updateOpenMarker((RangeTombstoneMarker)unfiltered); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/3dabeeaa/src/java/org/apache/cassandra/db/rows/Unfiltered.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/rows/Unfiltered.java index 39d9e75,e75c632..e1158e2 --- a/src/java/org/apache/cassandra/db/rows/Unfiltered.java +++ b/src/java/org/apache/cassandra/db/rows/Unfiltered.java @@@ -53,11 -53,13 +53,13 @@@ public interface Unfiltered extends Clu * invalid (some value is invalid for its column type, or some field * is nonsensical). */ - public void validateData(CFMetaData metadata); + public void validateData(TableMetadata metadata); + public boolean isEmpty(); + - public String toString(CFMetaData metadata); - public String toString(CFMetaData metadata, boolean fullDetails); - public String toString(CFMetaData metadata, boolean includeClusterKeys, boolean fullDetails); + public String toString(TableMetadata metadata); + public String toString(TableMetadata metadata, boolean fullDetails); + public String toString(TableMetadata metadata, boolean includeClusterKeys, boolean fullDetails); default boolean isRow() { http://git-wip-us.apache.org/repos/asf/cassandra/blob/3dabeeaa/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3dabeeaa/test/unit/org/apache/cassandra/cql3/validation/operations/AlterTest.java ----------------------------------------------------------------------
