dlmarion commented on PR #5780:
URL: https://github.com/apache/accumulo/pull/5780#issuecomment-3160057975
SuspendMarkerIT was failing with the following stack trace:
```
2025-08-06T12:21:47,830 66 [zookeeper.ZooCache] WARN : Saw (possibly)
transient exception communicating with ZooKeeper, will retry
org.apache.accumulo.core.zookeeper.ZooCache$ZcException:
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode =
ConnectionLoss for /namespaces
at
org.apache.accumulo.core.zookeeper.ZooCache$2.lambda$0(ZooCache.java:461)
~[classes/:?]
at
com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$remap$16(BoundedLocalCache.java:2880)
~[caffeine-3.2.0.jar:3.2.0]
at
java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)
~[?:?]
at
com.github.benmanes.caffeine.cache.BoundedLocalCache.remap(BoundedLocalCache.java:2875)
~[caffeine-3.2.0.jar:3.2.0]
at
com.github.benmanes.caffeine.cache.BoundedLocalCache.compute(BoundedLocalCache.java:2824)
~[caffeine-3.2.0.jar:3.2.0]
at
com.github.benmanes.caffeine.cache.LocalCache.compute(LocalCache.java:99)
~[caffeine-3.2.0.jar:3.2.0]
at org.apache.accumulo.core.zookeeper.ZooCache$2.run(ZooCache.java:436)
~[classes/:?]
at org.apache.accumulo.core.zookeeper.ZooCache$2.run(ZooCache.java:1)
~[classes/:?]
at
org.apache.accumulo.core.zookeeper.ZooCache$ZooRunnable.retry(ZooCache.java:292)
~[classes/:?]
at org.apache.accumulo.core.zookeeper.ZooCache.get(ZooCache.java:474)
~[classes/:?]
at
org.apache.accumulo.core.clientImpl.NamespaceMapping.update(NamespaceMapping.java:143)
~[classes/:?]
at
org.apache.accumulo.core.clientImpl.NamespaceMapping.getNameToIdMap(NamespaceMapping.java:173)
~[classes/:?]
at
org.apache.accumulo.core.clientImpl.ClientContext.getNamespaceId(ClientContext.java:570)
~[classes/:?]
at
org.apache.accumulo.core.clientImpl.ClientContext.getTableId(ClientContext.java:598)
~[classes/:?]
at
org.apache.accumulo.core.clientImpl.ClientContext.createConditionalWriter(ClientContext.java:833)
~[classes/:?]
at
org.apache.accumulo.server.ServerContext.createSharedConditionalWriter(ServerContext.java:499)
~[classes/:?]
at
org.apache.accumulo.server.ServerContext.lambda$10(ServerContext.java:149)
~[classes/:?]
at
com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:198)
~[guava-33.4.6-jre.jar:?]
at
org.apache.accumulo.server.ServerContext.close(ServerContext.java:524)
~[classes/:?]
at
org.apache.accumulo.miniclusterImpl.MiniAccumuloClusterImpl.terminate(MiniAccumuloClusterImpl.java:1056)
~[classes/:?]
at
org.apache.accumulo.test.functional.ConfigurableMacBase.tearDown(ConfigurableMacBase.java:194)
~[classes/:?]
```
`ServerAmplImpl.conditionallyMutateTablets()` passes the Suppliers for the
metadata and user shared writers to the ConditionalTabletsMutatorImpl
constructor, but the shared writer is only created in
`ConditionalTabletsMutatorImpl.process` if the metadata or user tablet is
modified. If only one table is modified, then the other writer is not created
and will be created during `ServerContext.close`.
--
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]