cshannon opened a new issue, #4300:
URL: https://github.com/apache/accumulo/issues/4300

   In #4242, the pop method in AccumuloStore had a condition added for the 
mutation to require a status of `FAILED_IN_PROGRESS` but it appears we also 
need to require more statuses.
   
   When running several different ITs, I noticed that in the Manager logs there 
are always Fate errors for all ITs. The errors look like:
   
   ```
   2024-02-23T13:10:32,747 119 [fate.Fate$TransactionRunner] ERROR: Uncaught 
exception in FATE runner thread.
   java.lang.IllegalStateException: Failed to write mutation REJECTED 
org.apache.accumulo.core.data.ConditionalMutation@8fc251f6
           at 
org.apache.accumulo.core.fate.accumulo.FateMutatorImpl.mutate(FateMutatorImpl.java:178)
 ~[classes/:?]
           at 
org.apache.accumulo.core.fate.accumulo.AccumuloStore$FateTxStoreImpl.lambda$pop$9(AccumuloStore.java:365)
 ~[classes/:?]
           at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
           at 
org.apache.accumulo.core.fate.accumulo.AccumuloStore$FateTxStoreImpl.pop(AccumuloStore.java:364)
 ~[classes/:?]
           at 
org.apache.accumulo.core.fate.WrappedFateTxStore.pop(WrappedFateTxStore.java:54)
 ~[classes/:?]
           at 
org.apache.accumulo.core.logging.FateLogger$LoggingFateTxStore.pop(FateLogger.java:67)
 ~[classes/:?]
           at 
org.apache.accumulo.core.fate.Fate$TransactionRunner.doCleanUp(Fate.java:276) 
~[classes/:?]
           at 
org.apache.accumulo.core.fate.Fate$TransactionRunner.run(Fate.java:190) 
[classes/:?]
           at 
org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52)
 [classes/:?]
           at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 [?:?]
           at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 [?:?]
           at 
org.apache.accumulo.core.trace.TraceWrappedRunnable.run(TraceWrappedRunnable.java:52)
 [classes/:?]
           at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
   ```
   
   I did some debugging and the issue is Fate is calling clean up to clean up 
on operations that don't set auto_clean to true, such as when tables get 
created, and it's trying to pop the last repo for the finished Fate transaction 
(in the case of create table it is `FinishCreateTable`) but the status is for 
the operation is `SUCCESSFUL` so it fails. So I think we either need to allow 
more states for that pop call condition.
   
   


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