This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 15e574d8a3cdbb1adbc36051063406133c79e805 Merge: dced081 1c3394d Author: Marcus Eriksson <[email protected]> AuthorDate: Thu Oct 24 10:21:03 2019 +0100 Merge branch 'cassandra-3.11' into trunk .../db/partitions/AbstractBTreePartition.java | 9 +++- .../cassandra/distributed/api/IInstance.java | 3 ++ .../impl/DelegatingInvokableInstance.java | 10 ++++ .../cassandra/distributed/impl/Instance.java | 19 +++++++ .../upgrade/MixedModeReadRepairTest.java | 59 ++++++++++++++++++++++ .../distributed/upgrade/UpgradeTestBase.java | 17 ++++++- 6 files changed, 115 insertions(+), 2 deletions(-) diff --cc src/java/org/apache/cassandra/db/partitions/AbstractBTreePartition.java index 6dbaff5,befbfbb..fc50de6 --- a/src/java/org/apache/cassandra/db/partitions/AbstractBTreePartition.java +++ b/src/java/org/apache/cassandra/db/partitions/AbstractBTreePartition.java @@@ -149,9 -155,16 +149,16 @@@ public abstract class AbstractBTreePart activeDeletion = rt.deletionTime(); if (row == null) - return activeDeletion.isLive() ? null : BTreeRow.emptyDeletedRow(clustering, Row.Deletion.regular(activeDeletion)); + { + // this means our partition level deletion superseedes all other deletions and we don't have to keep the row deletions + if (activeDeletion == partitionDeletion) + return null; + // no need to check activeDeletion.isLive here - if anything superseedes the partitionDeletion + // it must be non-live + return BTreeRow.emptyDeletedRow(clustering, Row.Deletion.regular(activeDeletion)); + } - return row.filter(columns, activeDeletion, true, metadata); + return row.filter(columns, activeDeletion, true, metadata()); } }; } diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index 84538c7,f22586e..d6e5a03 --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -261,9 -333,28 +261,28 @@@ public class Instance extends IsolatedE public void setMessagingVersion(InetAddressAndPort endpoint, int version) { - runOnInstance(() -> MessagingService.instance().setVersion(endpoint.address, version)); + MessagingService.instance().versions.set(endpoint, version); } + public void flush(String keyspace) + { + runOnInstance(() -> FBUtilities.waitOnFutures(Keyspace.open(keyspace).flush())); + } + + public void forceCompact(String keyspace, String table) + { + runOnInstance(() -> { + try + { + Keyspace.open(keyspace).getColumnFamilyStore(table).forceMajorCompaction(); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + }); + } + @Override public void startup(ICluster cluster) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
