Interface QueryDispatcherConnection
- All Known Implementing Classes:
QueryDispatcherConnectionImpl
public interface QueryDispatcherConnection
A connection to a remote query dispatcher.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classInformation about a dispatcher job (worker) that a dispatcher client can request.static interfaceSingle-use query processor request tracking mechanism. -
Method Summary
Modifier and TypeMethodDescriptiongetQueryProcessor(boolean addClientClassesToClassPath, List<RemoteQueryClassDefinition> classList, long timeoutMillis) getQueryProcessor(QueryDispatcherConnection.QueryProcessorRequestHandle handle, RemoteProcessingRequest request, boolean exportQueryScope, List<RemoteQueryClassDefinition> classList, long timeoutMillis, QueryProcessorConnection.DisconnectHandler disconnectHandler, io.deephaven.enterprise.comm.ConnectionMonitor.Params connectionMonitorParams) getQueryProcessor(QueryDispatcherConnection.QueryProcessorRequestHandle handle, RemoteProcessingRequest request, boolean exportQueryScope, List<RemoteQueryClassDefinition> classList, long timeoutMillis, QueryProcessorConnection.DisconnectHandler disconnectHandler, io.deephaven.enterprise.comm.ConnectionMonitor.Params connectionMonitorParams, TokenFactoryFactory tokenAuthenticationManager) getQueryProcessor(RemoteProcessingRequest request, List<RemoteQueryClassDefinition> classList) getQueryProcessor(RemoteProcessingRequest request, List<RemoteQueryClassDefinition> classList, long timeoutMillis) Delegate togetQueryProcessorRequestHandle(boolean)with combineWorkerConnectionStats=false to create a single-use handle for use in requesting a new query processor.getQueryProcessorRequestHandle(boolean combineWorkerConnectionStats) Create a new, single-use handle for use in requesting a new query processor.getQueryProcessorRequestHandle(boolean combineWorkerConnectionStats, Consumer<String> eventConsumer) Create a new, single-use handle for use in requesting a new query processor.booleanvoidpushClientClasses(List<RemoteQueryClassDefinition> classList) voidrelease(boolean force) voidrequestThreadDump(String workerProcessInfoIdArg, boolean ignoreMissingJob, boolean waitForResponse) voidsendCancelJob(String workerProcessInfoIdArg, boolean ignoreMissingJob, boolean waitForResponse) com.fishlib.base.CommandsendCommand(com.fishlib.base.Command command) sendInfoForJob(String workerProcessInfoId) Request information about a job the dispatcher may be handling.
-
Method Details
-
getDispatcherHost
String getDispatcherHost() -
pushClientClasses
- Throws:
IOException
-
sendCommand
- Throws:
IOException
-
getQueryProcessorRequestHandle
Delegate togetQueryProcessorRequestHandle(boolean)with combineWorkerConnectionStats=false to create a single-use handle for use in requesting a new query processor.- Returns:
- A new, single-use handle for use in requesting a new query processor.
-
getQueryProcessorRequestHandle
QueryDispatcherConnection.QueryProcessorRequestHandle getQueryProcessorRequestHandle(boolean combineWorkerConnectionStats) Create a new, single-use handle for use in requesting a new query processor.- Parameters:
combineWorkerConnectionStats- if true, use one set of statistics items for the worker connection statistics, rather than a different set of items for each worker connection- Returns:
- A new, single-use handle for use in requesting a new query processor.
-
getQueryProcessorRequestHandle
QueryDispatcherConnection.QueryProcessorRequestHandle getQueryProcessorRequestHandle(boolean combineWorkerConnectionStats, @NotNull Consumer<String> eventConsumer) Create a new, single-use handle for use in requesting a new query processor.- Parameters:
combineWorkerConnectionStats- if true, use one set of statistics items for the worker connection statistics, rather than a different set of items for each worker connectioneventConsumer- Function that takes a string to allow logging detailed status updates upon worker startup.- Returns:
- A new, single-use handle for use in requesting a new query processor.
-
getQueryProcessor
QueryProcessorConnection getQueryProcessor(QueryDispatcherConnection.QueryProcessorRequestHandle handle, RemoteProcessingRequest request, boolean exportQueryScope, List<RemoteQueryClassDefinition> classList, long timeoutMillis, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable io.deephaven.enterprise.comm.ConnectionMonitor.Params connectionMonitorParams, @NotNull TokenFactoryFactory tokenAuthenticationManager) throws RemoteQueryException - Throws:
RemoteQueryException
-
getQueryProcessor
QueryProcessorConnection getQueryProcessor(QueryDispatcherConnection.QueryProcessorRequestHandle handle, RemoteProcessingRequest request, boolean exportQueryScope, List<RemoteQueryClassDefinition> classList, long timeoutMillis, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable io.deephaven.enterprise.comm.ConnectionMonitor.Params connectionMonitorParams) throws RemoteQueryException - Throws:
RemoteQueryException
-
getQueryProcessor
QueryProcessorConnection getQueryProcessor(boolean addClientClassesToClassPath, List<RemoteQueryClassDefinition> classList, long timeoutMillis) throws RemoteQueryException - Throws:
RemoteQueryException
-
getQueryProcessor
QueryProcessorConnection getQueryProcessor(RemoteProcessingRequest request, List<RemoteQueryClassDefinition> classList, long timeoutMillis) throws RemoteQueryException - Throws:
RemoteQueryException
-
getQueryProcessor
QueryProcessorConnection getQueryProcessor(RemoteProcessingRequest request, List<RemoteQueryClassDefinition> classList) throws RemoteQueryException - Throws:
RemoteQueryException
-
isConnected
boolean isConnected() -
release
- Throws:
IOException
-
sendCancelJob
void sendCancelJob(String workerProcessInfoIdArg, boolean ignoreMissingJob, boolean waitForResponse) throws RemoteQueryException - Throws:
RemoteQueryException
-
requestThreadDump
void requestThreadDump(String workerProcessInfoIdArg, boolean ignoreMissingJob, boolean waitForResponse) throws RemoteQueryException - Throws:
RemoteQueryException
-
sendInfoForJob
QueryDispatcherConnection.JobInfo sendInfoForJob(String workerProcessInfoId) throws RemoteQueryException Request information about a job the dispatcher may be handling.- Parameters:
workerProcessInfoId- the worker process info id for the job- Returns:
- A
JobInfoobject with the information requested; note that if the job does not exist that is not an error. - Throws:
RemoteQueryException- if retrieving the information failed.
-