This is an automated email from the ASF dual-hosted git repository.
dcapwell pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new c7d2e97da0 NPE bug in streaming checking if SSTable is being repaired
c7d2e97da0 is described below
commit c7d2e97da04e09dd908b1ea238a8498cfe5a3edb
Author: David Capwell <[email protected]>
AuthorDate: Mon Aug 8 10:37:30 2022 -0700
NPE bug in streaming checking if SSTable is being repaired
patch by David Capwell; reviewed by Marcus Eriksson for CASSANDRA-17801
---
CHANGES.txt | 1 +
.../org/apache/cassandra/db/streaming/CassandraStreamManager.java | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index 64ee3e800d..e33cd45a78 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
4.2
+ * NPE bug in streaming checking if SSTable is being repaired (CASSANDRA-17801)
* Users of NativeLibrary should handle lack of JNA appropriately when running
in client mode (CASSANDRA-17794)
* Warn on unknown directories found in system keyspace directory rather than
kill node during startup checks (CASSANDRA-17777)
* Log duplicate rows sharing a partition key found in verify and scrub
(CASSANDRA-17789)
diff --git
a/src/java/org/apache/cassandra/db/streaming/CassandraStreamManager.java
b/src/java/org/apache/cassandra/db/streaming/CassandraStreamManager.java
index 46cf253d4d..8ca7ac5dac 100644
--- a/src/java/org/apache/cassandra/db/streaming/CassandraStreamManager.java
+++ b/src/java/org/apache/cassandra/db/streaming/CassandraStreamManager.java
@@ -30,6 +30,7 @@ import org.apache.cassandra.db.lifecycle.View;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.io.sstable.format.SSTableReader;
+import org.apache.cassandra.io.sstable.metadata.StatsMetadata;
import org.apache.cassandra.locator.RangesAtEndpoint;
import org.apache.cassandra.locator.Replica;
import org.apache.cassandra.service.ActiveRepairService;
@@ -105,7 +106,10 @@ public class CassandraStreamManager implements
TableStreamManager
}
else
{
- predicate = s -> s.isPendingRepair() &&
s.getSSTableMetadata().pendingRepair.equals(pendingRepair);
+ predicate = s -> {
+ StatsMetadata sstableMetadata = s.getSSTableMetadata();
+ return sstableMetadata.pendingRepair !=
ActiveRepairService.NO_PENDING_REPAIR &&
sstableMetadata.pendingRepair.equals(pendingRepair);
+ };
}
for (Range<PartitionPosition> keyRange : keyRanges)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]