What causes queries to disconnect?

The RemoteQueryProcessor (query worker) disconnects from the RemoteQueryDispatcher typically as a result of an exceptional error, or too much workload that prevents the worker from sending a heartbeat.

Common reasons for a disconnection include:

  1. The server runs out of heap and an OutOfMemoryError occurs, thus killing the JVM.
  2. The JVM is stuck in GC for so long that it is unable to respond to dispatcher heartbeats for 60 seconds.
  3. A deployment issue results in a NoSuchMethodError.
  4. An error occurred in internal JVM or a native code error occurred (aka a Hotspot error).