Configuration of RJ RServi Pool

R Node Configuration (NodeConfig/rconfig.properties)

  • r_home.path: path of the R home directory.
  • node_environment.variables.XYZ: environment variables to set inside the R node, where XYZ needs to be replaced by the variable name (e.g. R_LIBS, LD_LIBRARY_PATH etc).
  • java_cmd.args: additional arguments for the Java runtime passed to the Java command that starts up a node.
  • node_cmd.args: additional arguments for the node (rj package) passed to the command that starts up a node.
  • r_startup.snippet: R commands that will be executed when a node is started up; this can e.g. be used to preload certain packages.
  • debug_verbose.enabled: whether verbose debugging output needs to be generated by the node.
  • debug_console.enabled: whether a debug console (StatET IDE) can be connected to the node.
  • startstop_timeout.millis: period of time in milliseconds after which the starting and the regular terminating of a node will be aborted because of timeout.

Pool Configuration (PoolConfig/poolconfig.properties)

  • max_total.count: maximum total number of nodes in the pool.
  • max_idle.count: maximum number of idling nodes in the pool.
  • min_idle.count: minimum number of idling nodes in the pool.
  • min_idle.millis: minimum period of time in milliseconds a node is idling in the pool before it is eligible for removal because the pool has more idling nodes than the specified by min_idle.count.
  • max_usage.count: maximum number of times a node can be used; if a node reaches the count, it is removed.
  • max_wait.millis: maximum period of time in milliseconds RServiPool.getRServi will wait for a node before throwing a timeout exception.
  • eviction_timeout.millis: period of time in milliseconds the pool will wait for regular return of allocated nodes when stopping a node (NodeMXBean.stop) or stopping the pool before the allocated nodes will be forcibly removed.

Network Configuration (NetConfig/netconfig.properties)

  • host.address: hostname or IP address to use for publishing the pool.
  • rmi_registry.address.port: the TCP port of the RMI registry used to publish the pool.
  • rmi_registry.embed.enabled: whether RServi will start an embedded RMI registry itself, or will use an already running RMI registry.
  • ssl.enabled: whether to use SSL secured RMI connections (requires setup of keystores for the Java runtimes).