Interface QueryDispatcherConnection
- All Known Implementing Classes:
QueryDispatcherConnectionImpl
public interface QueryDispatcherConnection
A connection to a remote query dispatcher.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
Information about a dispatcher job (worker) that a dispatcher client can request.static interface
Single-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.boolean
void
pushClientClasses
(List<RemoteQueryClassDefinition> classList) void
release
(boolean force) void
requestThreadDump
(String workerProcessInfoIdArg, boolean ignoreMissingJob, boolean waitForResponse) void
sendCancelJob
(String workerProcessInfoIdArg, boolean ignoreMissingJob, boolean waitForResponse) com.fishlib.base.Command
sendCommand
(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
JobInfo
object with the information requested; note that if the job does not exist that is not an error. - Throws:
RemoteQueryException
- if retrieving the information failed.
-