keith-turner commented on PR #3897:
URL: https://github.com/apache/accumulo/pull/3897#issuecomment-1782064768

   Saw the following exception in the tserver where the metadata table could 
not close because its write to the root tablet failed.  Seems the code would 
throw an exception when trying to write to the root tablet when it did not have 
a location.  This change fixes the following bug.  Saw this while running 
SslIT.adminStop() test.
   
   ```
   2023-10-26T18:52:14,985 [tserver.UnloadTabletHandler] ERROR: Failed to close 
tablet !0;~<... Aborting migration
   java.lang.RuntimeException: Exception occurred during minor compaction on 
!0;~<
           at 
org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:386) 
~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.MinorCompactionTask.run(MinorCompactionTask.java:114)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.initiateClose(Tablet.java:795) 
~[classes/:?]
           at org.apache.accumulo.tserver.tablet.Tablet.close(Tablet.java:746) 
~[classes/:?]
           at 
org.apache.accumulo.tserver.UnloadTabletHandler.run(UnloadTabletHandler.java:93)
 [classes/:?]
           at 
org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52)
 [classes/:?]
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
           at 
org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52)
 [classes/:?]
           at java.lang.Thread.run(Thread.java:829) [?:?]
   Caused by: java.lang.RuntimeException: 
org.apache.accumulo.core.client.AccumuloException: 
java.util.NoSuchElementException: No value present
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.partitionResults(ConditionalTabletsMutatorImpl.java:142)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.writeMutations(ConditionalTabletsMutatorImpl.java:152)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.process(ConditionalTabletsMutatorImpl.java:206)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.updateTabletDataFile(Tablet.java:1357)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.bringMinorCompactionOnline(Tablet.java:1490)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:373) 
~[classes/:?]
           ... 9 more
   Caused by: org.apache.accumulo.core.client.AccumuloException: 
java.util.NoSuchElementException: No value present
           at 
org.apache.accumulo.core.client.ConditionalWriter$Result.getStatus(ConditionalWriter.java:71)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.partitionResults(ConditionalTabletsMutatorImpl.java:136)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.writeMutations(ConditionalTabletsMutatorImpl.java:152)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.process(ConditionalTabletsMutatorImpl.java:206)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.updateTabletDataFile(Tablet.java:1357)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.bringMinorCompactionOnline(Tablet.java:1490)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:373) 
~[classes/:?]
           ... 9 more
   Caused by: java.util.NoSuchElementException: No value present
           at java.util.Optional.orElseThrow(Optional.java:382) ~[?:?]
           at 
org.apache.accumulo.core.clientImpl.RootClientTabletCache.binMutations(RootClientTabletCache.java:62)
 ~[classes/:?]
           at 
org.apache.accumulo.core.clientImpl.SyncingClientTabletCache.binMutations(SyncingClientTabletCache.java:82)
 ~[classes/:?]
           at 
org.apache.accumulo.core.clientImpl.ConditionalWriterImpl.queue(ConditionalWriterImpl.java:288)
 ~[classes/:?]
           at 
org.apache.accumulo.core.clientImpl.ConditionalWriterImpl.write(ConditionalWriterImpl.java:429)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.writeMutations(ConditionalTabletsMutatorImpl.java:148)
 ~[classes/:?]
           at 
org.apache.accumulo.server.metadata.ConditionalTabletsMutatorImpl.process(ConditionalTabletsMutatorImpl.java:206)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.updateTabletDataFile(Tablet.java:1357)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.bringMinorCompactionOnline(Tablet.java:1490)
 ~[classes/:?]
           at 
org.apache.accumulo.tserver.tablet.Tablet.minorCompact(Tablet.java:373) 
~[classes/:?]
           ... 9 more
   ```


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