dlmarion opened a new issue, #2669:
URL: https://github.com/apache/accumulo/issues/2669
**Describe the bug**
The CompactionCoordinator (CC) iterates over the TabletServers (TS) to get
information about the compactions. If the CC asks the TS about this before the
TS has finished starting up, then a NPE is logged in the TS log.
```
java.lang.NullPointerException: null
at
org.apache.accumulo.tserver.TabletClientHandler.getCompactionQueueInfo(TabletClientHandler.java:1367)
~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) ~[?:?]
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:?]
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at
org.apache.accumulo.core.trace.TraceUtil.lambda$wrapService$0(TraceUtil.java:206)
~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at com.sun.proxy.$Proxy58.getCompactionQueueInfo(Unknown Source)
~[?:?]
at
org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$getCompactionQueueInfo.getResult(TabletClientService.java:3159)
~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at
org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$getCompactionQueueInfo.getResult(TabletClientService.java:3138)
~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
```
A corresponding warning is printed in the CC log:
```
2022-05-02T15:17:36,159 [coordinator.CompactionCoordinator] WARN : Error
getting external compaction summaries from tablet server: 1.2.3.4:9997
org.apache.thrift.TApplicationException: Internal error processing
getCompactionQueueInfo
at
org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
~[libthrift-0.15.0.jar:0.15.0]
at
org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.recv_getCompactionQueueInfo(TabletClientService.java:879)
~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at
org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Client.getCompactionQueueInfo(TabletClientService.java:865)
~[accumulo-core-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at
org.apache.accumulo.coordinator.CompactionCoordinator.updateSummaries(CompactionCoordinator.java:359)
~[accumulo-compaction-coordinator-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
```
It looks like we might be able to move the start of the ThriftServer to a
point in `TabletServer.run` after the compactionManager variable has been set.
--
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]