You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2021/04/06 14:34:06 UTC

[GitHub] [accumulo] keith-turner opened a new issue #1999: Investigate exception from new sanity check

keith-turner opened a new issue #1999:
URL: https://github.com/apache/accumulo/issues/1999


   After adding a new sanity for the sets of files passed between the tablet and a planner, the sanity check is catching an overlap in two sets files that are supposed to be disjoint.  The problem is transient, but it does hint that there is a bug.  Need to investigate this.
   
   ```
   2021-04-04T13:21:16,194 [threads.AccumuloUncaughtExceptionHandler] ERROR: Caught an Exception in Thread[CompactionPlanner-Worker-1,5,main]. Thread is dead.
   java.lang.IllegalArgumentException: Compacting and candidates overlap [[F0000000.rf, 257 5], [F0000001.rf, 231 2]] [[F0000001.rf, 231 2], [F0000000.rf, 257 5]]
   	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:441) ~[guava-30.1-jre.jar:?]
   	at org.apache.accumulo.tserver.compactions.Compactable$Files.<init>(Compactable.java:80) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
   	at org.apache.accumulo.tserver.tablet.CompactableImpl.getFiles(CompactableImpl.java:524) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
   	at org.apache.accumulo.tserver.compactions.CompactionService.planCompaction(CompactionService.java:247) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
   	at org.apache.accumulo.tserver.compactions.CompactionService.lambda$compact$4(CompactionService.java:233) ~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
   ```


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [accumulo] dlmarion closed issue #1999: Investigate exception from new sanity check

Posted by GitBox <gi...@apache.org>.
dlmarion closed issue #1999:
URL: https://github.com/apache/accumulo/issues/1999


   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [accumulo] dlmarion commented on issue #1999: Investigate exception from new sanity check

Posted by GitBox <gi...@apache.org>.
dlmarion commented on issue #1999:
URL: https://github.com/apache/accumulo/issues/1999#issuecomment-818721857


   I just ran into this while testing with fluo-uno. This might be a blocker to testing. I'm going to dig in and see what I can find.


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [accumulo] dlmarion commented on issue #1999: Investigate exception from new sanity check

Posted by GitBox <gi...@apache.org>.
dlmarion commented on issue #1999:
URL: https://github.com/apache/accumulo/issues/1999#issuecomment-818769389


   I made a change locally which seems to work. The change is to use `candidates` instead of `Set.copyOf(selectedFiles)` [here](https://github.com/apache/accumulo/blob/1451-external-compactions-feature/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/CompactableImpl.java#L526). I think the issue is that `selectedFiles` is being modified in another thread (while loading data into the table new files are created when mutations are flushed from memory). In most cases modification of `selectedFiles` is done within a `synchronized(this)` block, except in one method where the method has the `synchronized` modifier.


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org