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]