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


The following commit(s) were added to refs/heads/trunk by this push:
     new 6b3ea1e  Avoid CME when cancelling compactions for anticompaction
6b3ea1e is described below

commit 6b3ea1e1a480c9f9a2f6f813443daa4c6866e2ff
Author: Marcus Eriksson <marc...@apache.org>
AuthorDate: Tue Feb 26 18:53:01 2019 +0100

    Avoid CME when cancelling compactions for anticompaction
    
    Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-15036
---
 .../apache/cassandra/db/compaction/ActiveCompactions.java   | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/java/org/apache/cassandra/db/compaction/ActiveCompactions.java 
b/src/java/org/apache/cassandra/db/compaction/ActiveCompactions.java
index bba0601..5bcb06f 100644
--- a/src/java/org/apache/cassandra/db/compaction/ActiveCompactions.java
+++ b/src/java/org/apache/cassandra/db/compaction/ActiveCompactions.java
@@ -56,13 +56,16 @@ public class ActiveCompactions implements 
ActiveCompactionsTracker
     public CompactionInfo getCompactionForSSTable(SSTableReader sstable)
     {
         CompactionInfo toReturn = null;
-        for (CompactionInfo.Holder holder : compactions)
+        synchronized (compactions)
         {
-            if (holder.getCompactionInfo().getSSTables().contains(sstable))
+            for (CompactionInfo.Holder holder : compactions)
             {
-                if (toReturn != null)
-                    throw new IllegalStateException("SSTable "+sstable+" 
involved in several compactions");
-                toReturn = holder.getCompactionInfo();
+                if (holder.getCompactionInfo().getSSTables().contains(sstable))
+                {
+                    if (toReturn != null)
+                        throw new IllegalStateException("SSTable " + sstable + 
" involved in several compactions");
+                    toReturn = holder.getCompactionInfo();
+                }
             }
         }
         return toReturn;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to