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: notifications-unsubscr...@accumulo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to