milleruntime opened a new pull request #2342:
URL: https://github.com/apache/accumulo/pull/2342


   This PR creates an IT to expose a bug introduced in #1605. If a flush 
doesn't produce any entries in `DataFileValue`, then a `StoredTabletFile` won't 
be created, since nothing was inserted into the metadata, and the newFile 
object will be null. Refactoring was done in `DatafileManager` to the 
bringMinorCompactionOnline() method so that it now returns the newFile. But 
this file could be null, if nothing was written to the metadata table. I am not 
sure what should be done to fix this issue but I was at least was able to 
reproduce it in an IT. This bug is particularly nasty since Accumulo thinks the 
flush succeeds but the error will be thrown towards the end of the process and 
the file never gets created.
   
   Server error printed in tablet server log:
   <pre>
   2021-11-02T13:23:03,134 [tablet.MinorCompactionTask] ERROR: Unknown error 
during minor compaction for extent: 1<<
   java.lang.RuntimeException: Exception occurred during minor compaction on 1<<
           at 
org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:820) 
~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.MinorCompactionTask.run(MinorCompactionTask.java:99)
 [classes/:?]
           at 
org.apache.htrace.wrappers.TraceRunnable.run(TraceRunnable.java:57) 
[htrace-core-3.2.0-incubating.jar:3.2.0-incubating]
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
           at java.lang.Thread.run(Thread.java:829) [?:?]
   Caused by: java.lang.NullPointerException
           at java.util.Objects.requireNonNull(Objects.java:221) ~[?:?]
           at 
java.util.ImmutableCollections$List12.<init>(ImmutableCollections.java:372) 
~[?:?]
           at java.util.List.of(List.java:807) ~[?:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:814) 
~[classes/:?]
           ... 5 more
   </pre>


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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to