Class RemoteProcessingRequest

java.lang.Object
com.illumon.iris.db.tables.remotequery.RemoteProcessingRequest
All Implemented Interfaces:
Serializable

public class RemoteProcessingRequest extends Object implements Serializable
Used for specifying the characteristics of a request for remote query processing.
See Also:
  • Field Details

    • DEFAULT_MAX_HEAP_SIZE_MB

      public static final int DEFAULT_MAX_HEAP_SIZE_MB
    • MAX_MAX_HEAP_SIZE_MB

      public static final int MAX_MAX_HEAP_SIZE_MB
      See Also:
    • MINIMUM_HEAP_SIZE_MB

      public static final int MINIMUM_HEAP_SIZE_MB
    • MINIMUM_HEAP_SIZE_GB

      public static final double MINIMUM_HEAP_SIZE_GB
    • DEFAULT_MAX_DURATION_MS

      public static final int DEFAULT_MAX_DURATION_MS
    • MAX_MAX_DURATION_MS

      public static final int MAX_MAX_DURATION_MS
      See Also:
    • DEFAULT_WORKER_DEBUG_ENABLED

      public static final boolean DEFAULT_WORKER_DEBUG_ENABLED
  • Constructor Details

    • RemoteProcessingRequest

      public RemoteProcessingRequest()
    • RemoteProcessingRequest

      public RemoteProcessingRequest(String... extraJvmArgs)
      Parameters:
      extraJvmArgs - Extra arguments that will be passed to the processor's JVM. See note on usage at setExtraJvmArgs(String...)
    • RemoteProcessingRequest

      public RemoteProcessingRequest(int maxHeapSizeMB, long maxDurationMS, String... extraJvmArgs)
      Parameters:
      maxHeapSizeMB - The amount of heap needed for queries - the assigned processor will have at *least* this much
      maxDurationMS - The maximum amount of time the query should take
      extraJvmArgs - Extra arguments that will be passed to the processor's JVM. See note on usage at setExtraJvmArgs(String...)
    • RemoteProcessingRequest

      public RemoteProcessingRequest(String description, int maxHeapSizeMB, long maxDurationMS, boolean omitDefaultGCParams, boolean detailedGCLoggingEnabled, String[] extraJvmArgs, boolean addClientClassesToClasspath, boolean enableCachedClasses, @Nullable String[] classpathAdditions, int priority, @Nullable Map<String,String> extraEnvironmentVars)
      Parameters:
      description - A description for this job, to be displayed in status reports and performance logs
      maxHeapSizeMB - The amount of heap needed for queries - the assigned processor will have at *least* this much
      maxDurationMS - The maximum amount of time the query should take
      omitDefaultGCParams - Whether the dispatcher should supply default GC parameters
      detailedGCLoggingEnabled - Whether the dispatcher should supply detailed GC logging parameters
      extraJvmArgs - Extra arguments that will be passed to the processor's JVM. See note on usage at setExtraJvmArgs(String...)
      addClientClassesToClasspath - Whether to pre-pend the client connection's pushed classes directory to the processor's classpath
      enableCachedClasses - Whether to append the dispatcher's compiled class cache directory to the processor's classpath
      classpathAdditions - Extra directories on the *SERVER* to be pre-pended to the classpath for the assigned processor
      priority - User priority value to be used for processor scheduling - lower means more important
      extraEnvironmentVars - Environment variables to be set in the processor's environment. By default, environment is inherited from the dispatcher. Note: It's inadvisable to set enableCachedClasses=true if addClientClassesToClasspath==false.
    • RemoteProcessingRequest

      public RemoteProcessingRequest(io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor)
    • RemoteProcessingRequest

      public RemoteProcessingRequest(io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, String... extraJvmArgs)
    • RemoteProcessingRequest

      public RemoteProcessingRequest(io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, int maxHeapSizeMB, long maxDurationMS, String... extraJvmArgs)
    • RemoteProcessingRequest

      public RemoteProcessingRequest(io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, @NotNull String description, int maxHeapSizeMB, long maxDurationMS, boolean omitDefaultGCParams, boolean detailedGCLoggingEnabled, String[] extraJvmArgs, boolean addClientClassesToClasspath, boolean enableCachedClasses, @Nullable String[] classpathAdditions, int priority, @Nullable Map<String,String> extraEnvironmentVars)
      Parameters:
      authTokenForDispatcher - An authentication token for the desired user context to be used for the new processor.
      description - A description for this job, to be displayed in status reports and performance logs
      maxHeapSizeMB - The amount of heap needed for queries - the assigned processor will have at *least* this much
      maxDurationMS - The maximum amount of time the query should take
      omitDefaultGCParams - Whether the dispatcher should supply default GC parameters
      detailedGCLoggingEnabled - Whether the dispatcher should supply detailed GC logging parameters
      extraJvmArgs - Extra arguments that will be passed to the processor's JVM. See note on usage at setExtraJvmArgs(String...)
      addClientClassesToClasspath - Whether to pre-pend the client connection's pushed classes directory to the processor's classpath
      enableCachedClasses - Whether to append the dispatcher's compiled class cache directory to the processor's classpath
      classpathAdditions - Extra directories on the *SERVER* to be pre-pended to the classpath for the assigned processor
      priority - User priority value to be used for processor scheduling - lower means more important
      extraEnvironmentVars - Environment variables to be set in the processor's environment. By default, environment is inherited from the dispatcher. Note: It's inadvisable to set enableCachedClasses=true if addClientClassesToClasspath==false.
    • RemoteProcessingRequest

      public RemoteProcessingRequest(@NotNull RemoteProcessingRequest other)
    • RemoteProcessingRequest

      public RemoteProcessingRequest(@NotNull io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, @NotNull io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, @NotNull RemoteProcessingRequest other)
  • Method Details

    • getAuthTokenForDispatcher

      public io.deephaven.enterprise.auth.AuthToken getAuthTokenForDispatcher()
    • getAuthTokenForProcessor

      public io.deephaven.enterprise.auth.AuthToken getAuthTokenForProcessor()
    • getDescription

      public String getDescription()
    • setDescription

      public RemoteProcessingRequest setDescription(String description)
    • getMaxHeapSizeMB

      public int getMaxHeapSizeMB()
    • setMaxHeapSizeMB

      public RemoteProcessingRequest setMaxHeapSizeMB(int maxHeapSizeMB)
    • getMaxDurationMS

      public long getMaxDurationMS()
    • setMaxDurationMS

      public RemoteProcessingRequest setMaxDurationMS(long maxDurationMS)
    • omitDefaultGCParams

      public boolean omitDefaultGCParams()
    • setOmitDefaultGCParams

      public RemoteProcessingRequest setOmitDefaultGCParams(boolean omitDefaultGCParams)
    • detailedGCLoggingEnabled

      public boolean detailedGCLoggingEnabled()
    • setDetailedGCLoggingEnabled

      public RemoteProcessingRequest setDetailedGCLoggingEnabled(boolean detailedGCLoggingEnabled)
    • getExtraJvmArgs

      public String[] getExtraJvmArgs()
    • setExtraJvmArgs

      public RemoteProcessingRequest setExtraJvmArgs(String... extraJvmArgs)
      Sets the extra JVM arguments that will be passed to the processor's JVM. Note that you may only provide one argument per String. In other words, this is OK:

      rpr.setExtraJvmArgs("-DclientPort=7200", "-DdebugEnabled=false");

      But this is not OK:

      rpr.setExtraJvmArgs("-DclientPort=7200 -DdebugEnabled=false");

      Parameters:
      extraJvmArgs - the additional JVM arguments to pass
      Returns:
      this RemoteProcessingRequest for chaining
    • addClientClassesToClasspath

      public boolean addClientClassesToClasspath()
    • setAddClientClassesToClasspath

      public RemoteProcessingRequest setAddClientClassesToClasspath(boolean addClientClassesToClasspath)
    • enableCachedClasses

      public boolean enableCachedClasses()
    • setEnableCachedClasses

      public RemoteProcessingRequest setEnableCachedClasses(boolean enableCachedClasses)
    • getClasspathAdditions

      public String[] getClasspathAdditions()
    • setClasspathAdditions

      public RemoteProcessingRequest setClasspathAdditions(String... classpathAdditions)
    • getPriority

      public int getPriority()
    • setPriority

      public RemoteProcessingRequest setPriority(int priority)
    • getExtraEnvironmentVars

      public Map<String,String> getExtraEnvironmentVars()
    • setExtraEnvironmentVars

      public RemoteProcessingRequest setExtraEnvironmentVars(Map<String,String> extraEnvironmentVars)
    • getWorkerKind

      public String getWorkerKind()
    • setWorkerKind

      public RemoteProcessingRequest setWorkerKind(String workerKind)
    • getWorkerCreationJson

      public String getWorkerCreationJson()
    • setWorkerCreationJson

      public RemoteProcessingRequest setWorkerCreationJson(String workerCreationJson)
    • getExtraSystemProperties

      public Map<String,String> getExtraSystemProperties()
    • addExtraSystemProperties

      public RemoteProcessingRequest addExtraSystemProperties(Map<String,String> extraSystemProperties)
    • addExtraSystemProperty

      public RemoteProcessingRequest addExtraSystemProperty(String property, String value)
    • getWorkerProcessInfoId

      public String getWorkerProcessInfoId()
    • setWorkerProcessInfoId

      public void setWorkerProcessInfoId(String workerProcessInfoId)
    • getEtcdWorkerOwnerPresenceKey

      public String getEtcdWorkerOwnerPresenceKey()
    • setEtcdWorkerOwnerPresenceKey

      public void setEtcdWorkerOwnerPresenceKey(String etcdWorkerOwnerPresenceKey)