XAP

System Properties

Administration

Property name Description Default
gs.admin.jvm.probe.details Implementation of JVMDetailsProbe,probing the jvm, JVMDetails is used to return the details of the jvm such as jvm name, version vendor, start time, heap data etc. SigarJVMDetailsProbe
gs.admin.jvm.probe.statistics Implementation of JVMStatisticsProbe, provides JVM statistics SigarJVMStatisticsProbe
gs.admin.os.probe.statistics Implementation of OSStatistics, provides OS statistics such as memory and network usage. SigarOSStatisticsProbe
gs.admin.os.probe.details Implementation of OSDetailsProbe, provides OS details OSDetails like uid, name, architecture, version, processors number, host name and address etc. SigarOSDetailsProbe

Deployment

Property name Description Default
com.gs.home GigaSpaces home directory. Not required, if not set explicitly, it is resolved $GS_HOME
com.gs.deploy The location of the deploy directory of the GSM. $GS_HOME/deploy
com.gs.work The location of the work directory of the GSM and GSC. $GS_HOME/work
com.gs.pu-common The location of common classes used across multiple processing units. The libraries located within this folder loaded into each PU instance classloader (and not into the system classloader as with the com.gigaspaces.lib.platform.ext. $GS_HOME\lib\optional\pu-common
com.gigaspaces.lib.platform.ext PUs shared classloader libraries folder. PU jars located within this folder loaded once into the JVM system classloader and shared between all the PU instances classloaders within the GSC. In most cases this is a better option than the com.gs.pu-common for JDBC drivers and other 3rd party libraries. This is useful option when you want multiple processing units to share the same 3rd party jar files and do not want to repackage the processing unit jar whenever one of these 3rd party jars changes. $GS_HOME\lib\platform\ext

Security

Property name Description Default
com.gs.security.enabled Security property indicating whether the GSM and GSC should be loaded in a secured mode. false
com.gs.security.properties-file Identifies the security properties file location <path/filename>
com.gs.security.disable-commit-abort-authentication Disable transaction authentication false

Secured Space

Property name Description Default
com.gs.proxypool.capacity Proxy capacity of the data structure 50 proxies
com.gs.proxypool.waiting-timeout Timeout — maximum time to wait for a place (proxy) in the data structure 3 *60*1000 (in millis) — 3 minutes
com.gs.proxypool.expiration-time Expiration time after which the unused proxies are evicted 15*60*1000 (in millis) — 15 minutes

Change code without restarts

Property name Description Default
space-config.remote-code.max-class-loaders Limit number of class loaders (caches) 3
space-config.remote-code.support.code.change Enable / Disable code change true

PU

Property name Description Default
com.gs.pu.classloader.scala-lib-path scala/lib
com.gs.pu.classloader.os-in-common-classloader false

Lookup Service

Property name Description Default
com.sun.jini.reggie.eventTaskManager.maxThreads Maximum number of threads handling event notifications 40
com.sun.jini.reggie.eventTaskManager.timeout Idle time before a thread exits 1500 ms
com.sun.jini.reggie.eventTaskManager.retriesOnIdle Timeout retries before a thread exits 10
com.sun.jini.reggie.maxEventsPerEventReg Maximum number of events to keep per event registration listener 1500

LRMI

Transport

Property name Description Default Server/Client Unit Override on client side
com.gs.transport_protocol
.lrmi.max-conn-pool
The maximum amount of connections to the space server remote services that can work simultaneously in a client connection pool. Starts with 1 connection. Defined per each remote service (by default, each remote service has 1024 maximum connections). 1024 Server Connections No
com.gs.transport_protocol
.lrmi.max-threads
GigaSpaces maintains a thread pool on the server side (at the GSC process level), that manages incoming remote requests. This parameter specifies the maximum size of this thread pool. 128 Server Threads No
com.gs.transport_protocol
.lrmi.min-threads
GigaSpaces maintains a thread pool on the server side that manages incoming remote requests. The thread pool size is increased each time with one additional thread and shrinks when existing threads are not used for 5 minutes. This parameter specifies the minimum size of this thread pool. 1 Server Threads No
com.gs.transport_protocol.
lrmi.custom.threadpool.max-threads
GigaSpaces maintains a thread pool on the server side that manages incoming remote requests for Task and Notification invocation. The thread pool size is increased each time with one additional thread and shrinks when existing threads are not used for 5 minutes. This parameter specifies the maximum size of this thread pool. 128 Server Threads No
com.gs.transport_protocol.
lrmi.custom.threadpool.min-threads
GigaSpaces maintains a thread pool on the server side that manages incoming remote requests for Task and Notification invocation. The thread pool size is increased each time with one additional thread and shrinks when existing threads are not used for 5 minutes. This parameter specifies the minimum size of this thread pool. 1 Server Threads No
com.gs.transport_protocol.
lrmi.system-priority.
threadpool.max-threads
GigaSpaces maintains a thread pool on the server side that manages incoming remote requests for admin invocation. The thread pool size is increased each time with one additional thread and shrinks when existing threads are not used for 5 minutes. This parameter specifies the maximum size of this thread pool. 8 Server
com.gs.transport_protocol.
lrmi.system-priority.
threadpool.min-threads
GigaSpaces maintains a thread pool on the server side that manages incoming remote requests for admin invocation. The thread pool size is increased each time with one additional thread and shrinks when existing threads are not used for 5 minutes. This parameter specifies the maximum size of this thread pool. 1 Server
com.gs.transport_protocol
.lrmi.bind-port
Server port used for incoming client requests, or notifications from server to client. The server port is set by default to 0, which means next free port. This means that whenever GigaSpaces is launched, it allocates one of the available ports. Define a specific port value to enforce a specific port on the space server or client side. You can define a range of ports 0 Server No
java.rmi.server.hostname Binds the GigaSpaces Server on a specified network interface. If java.rmi.server.hostname is null the system sets the localhost IP address. host
name
Client & Server No
com.gs.transport_protocol
.lrmi.idle_conn
ection_timeout
Watchdog idle connection timeout. 900 Client Seconds Yes
com.gs.transport_protocol
.lrmi.request_timeout
Watchdog request timeout. 30 Client Seconds Yes
com.gs.transport_protocol
.lrmi.inspect_timeout
Watchdog dummy packet connection timeout used when the watchdog suspects a request connection is blocked (com.gs.transport_protocol.lrmi.request_timeout elapsed). 1000 Client millisec Yes
com.gs.transport_protocol
.lrmi.threadpool.idle_timeout
LRMI thread pool idle timeout. Usually should be tuned for server side 300000 Server millisec No
com.gs.transport_protocol
.lrmi.connect_timeout
LRMI timeout to establish a socket connection 30 Server Seconds No
com.gs.transport_protocol
.lrmi.maxBufferSize
The NIO internal cache (a DirectByteBuffer) might cause an OutOfMemoryError due-to direct memory exhaustion. To avoid such a scenario, the LRMI layer breaks the outgoing buffer into a several chunks. By doing so, the NIO internal cache is kept small, and may not cause any error. The size of these chunks can be determined by this property 65536 (64k) Client & Server Bytes Yes
com.gs.transport_protocol
.lrmi.selector.threads
LRMI selector threads. This should be configured with multi core machines. Usualy should be tuned for server side 4 Client & Server Threads No
com.gs.transport_protocol
.lrmi.use_async_connect
Use asynchronous IO to connect. The default of true should work for most systems. true Client & Server boolean No
com.gs.transport_protocol
.lrmi.classloading
Enables LRMI dynamic class loading. true Server boolean No
com.gs.transport_protocol
.lrmi.classloading.import
Enables importing of classes using LRMI dynamic class loading. true Server boolean No
com.gs.transport_protocol
.lrmi.classloading.export
Enables exporting of classes using lrmi dynamic class loading. true Server boolean No
com.gs.transport_protocol
.lrmi.tcp-send-buffer-size
Set the TCP Send Buffer size (SO_SNDBUF). OS default Client & Server bytes Yes
com.gs.transport_protocol
.lrmi.tcp-receive-buffer-size
Set the TCP receive Buffer size (SO_RCVBUF). OS default Client & Server bytes Yes
com.gs.transport_protocol
.lrmi.tcp-keep-alive
Set the TCP keep alive mode (SO_KEEPALIVE). true Client & Server boolean Yes
com.gs.transport_protocol
.lrmi.timeout_resolution
Resolution in percents. Timeout resolution indicates the accuracy of the request timeout. 10 Client Percent Yes
com.gs.transport_protocol
.lrmi.system-priority.
threadpool.min-threads
This parameter specifies the minimum size of a thread pool used to control admin API calls 1 Server Threads No
com.gs.transport_protocol
.lrmi.system-priority.threadpool.max-threads
This parameter specifies the maximum size of a thread pool used to control admin API calls 8 Server Threads No
com.gs.transport_protocol
.lrmi.custom.threadpool.
idle_timeout
Idle timeout 300000 millisec No
com.gs.transport_protocol
.lrmi.threadpool.
queue-size
Regualr operations thread pool queue size 2147483647 Invo
cation
com.gs.transport_protocol
.lrmi.custom.threadpool.
queue-size
Custom operations thread pool queue size 2147483647 Invo
cation
com.gs.transport_protocol
.lrmi.system-priority.
threadpool.queue-size
System operations thread pool queue size 2147483647
com.gs.transport_protocol
.lrmi.throw-resource-not-available
Specifies whether to throw an exception if no resources are available false Boolean
com.gs.lrmi.nio
.selector.select-timeout
Set the timeout to block while waiting for a channel to become ready. 0 = block indefinitely. This value must not be negative. 10000 Client & Server Milliseconds Yes

Filter

Property name Description Default
com.gs.lrmi.filter.factory Factory class that is used to load communication filter. empty
com.gs.lrmi.filter.security.keystore Name of the keystore file that should be used by SSL communication filter. empty
com.gs.lrmi.filter.security.password Keystore password that should be used by SSL communication filter. empty

Threads Usage

Thread Name Description Configuration Parameters Client
Server
LRMI Selector Accept Responsible for accepting incoming socket connections. Single Thread Server
LRMI async Selector Client side, handles async invocation, i.e executors, asyncRead/take. 4 Threads Server
Pending Answers-pool Responsible for sending a callback to template based waiting operations (read/take). space-config.engine.min_threads
space-config.engine.max_threads
Server
Notifier-pool Responsible to dispatch notification to client side. Used with the Notify Container Java version | .NET version and Session Based Messaging API. See the Scaling Notification Delivery for details. space-config.engine.notify_min_threads
space-config.engine.notify_max_threads
Server
Processor-pool Pool for space operations post processing that can be done asynchronously to user operation. Transaction cleanup, notifications etc. space-config.engine.min_threads
space-config.engine.max_threads
Server
Connection-pool Pool for regualr space operations execution. com.gs.transport_protocol.lrmi.max-threads
com.gs.transport_protocol.lrmi.min-threads
Server
Custom pool Pool for notify and task execution com.gs.transport_protocol.lrmi.custom.
threadpool.min-threads
com.gs.transport_protocol.lrmi.custom.
threadpool.max-threads
Server
System pool Pool for admin operations com.gs.transport_protocol.lrmi.system-priority.threadpool.min-threads
com.gs.transport_protocol.lrmi.system-priority.threadpool.max-threads
Server
SG LeaseReaper Used by the Service Grid Single Thread Server
Template Expiration Manager Timer The main thread of expiration manager. Wakes up on each expiration period to find the expired templates. Single Thread per space Server
TemplateExpirationManager-pool# Responsible for sending response to waiting client when their template expires. 16 threads max per space Server
SyncReplicationChannel SPACE_NAME Runs per sync replication channel Dynamically adjusted Server
CapabilityChannel Server
ClassLoaderCache-
SelfCleaningTable
Used to clean up resources of class loaders once terminated (undeploy of processing unit) Single Thread Server
TransactionTableHolder-SelfCleaningTable Responsible for cleaning zombie local transactions that were abandoned by the user application without committing. Single thread per GSC Single Thread per space Server
SLA Monitor Disk Used by the Service Grid. SLA free disk space monitor Single Thread Server
Memory:writer Used by the Service Grid. SLA Memory monitor Single Thread Server
CPU:writer Used by the Service Grid. SLA CPU monitor Single Thread Server
pollingEventContainer# Used with the Polling Container See the Concurrent Consumers Client
LeaseRenewalManager Task Respisible to review resource lease. One per resource Client
JoinManager Task Responsible to communicate with the lookup service Single thread per client proxy Client
Liveness-detector See the Proxy Connectivity for details. Single thread per client proxy Client
Liveness-monitor See the Proxy Connectivity for details. Single thread per client proxy Client
LocalTransactionManagerImpl
$Reaper SPACE_NAME
A thread that reaps expired transactions entries and other objects Single thread per space Server
GSPingManager Used by the Service Grid Server
LeaseManager$Reaper SPACE_NAME See the Lease Manager for details Single Thread per space Server
Cache PersistentGC Responsible for backup activities (cleanup indexes) Single Thread per space Server
SPACE_NAME BackgroundFifoThread3_Notify=false# Threads that use segmentation in order to handle background events like handling waiting templates in a fifo fashion Thread pool per space Server
SPACE_NAME BackgroundFifoThread3_Notify=true# Threads that use segmentation in order to handle background notify events in a fifo fashion Thread pool per space Server
Statistics-Task Server
SPACE_NAME Batch Notifier Used when using batch notifications. See the Batch Events for details. Single Thread per space Server
ActiveFailureDetector Responsible for the active election process. See the Failure Detection for details. Single Thread Server
ProvisionLeaseManager Used by the Service Grid Single Thread Server
Watchdog See the Communication Protocol for details. Single Thread per proxy Client
Scheduled System Boot Thread Used when the system starts Single Thread Server
SLAThresholdTaskPool# Used by the Service Grid Single Thread Server
CapabilityChannel Used by the Service Grid Single Thread Server
DynamicSmartStub-InvHandlerCache-SelfCleaningTable$Cleaner Used by LRMI for background cleanup Single Thread Server
ClassLoaderCache-SelfCleaningTable$Cleaner Used by LRMI to cleanup unused classes Single Thread Server
ProvisionFailurePool# Used by the Service Grid. Monitors the running services Server - GSM
ProvisionPool# Used by the Service Grid. Monitors the running services Server - GSM
ProvisionMonitorEventPool# Used by the Service Grid. Monitors the running services Server - GSM
Reggie Comm Task-pool# Used by the Service Grid. Monitors the running services Server - GSM
SDM Cache Task Used by the Service Grid. Server - GSM
unicast request Used by the Service Grid. Server - GSM
service expire Used by the Service Grid. Server - GSM
Webster Runner Used by the Service Grid. Server - GSM
Event Lease Manager Used by the Service Grid. Server - GSM
Fault Detection Handler Used by the Service Grid. Server - GSM

Refer to Threads Usage

JMS

Property name Description Default
com.gs.jms.enabled If true it will register the jms administrated objects in the rmi registry false
com.gs.jms.compressionMinSize JMS - The minimum size (in bytes) which from where we start to compress the message body. e.g. if a 1 MB Text JMSMessage body is sent, and the compressionMinSize value is 500000 (0.5MB) then we will compress that message body (only), otherwise we will send (write) it as is. 500000
com.gs.jms.iterator.buffersize The iterator buffer size used for the QueueBrowser. 1000 objects
com.gs.jms.use_mahalo If true, when JMS clients use transacted sessions the JMS transactions will use the Mahalo Jini transaction manager, which expects the manager to be started. false

JMX

Property name Description Default
com.gs.jmx.enabled Enable / disable JMX support. true
com.gs.jmx.createJmxConnetor Enable / disable the JMXConnector to connect remotely to the JMXServer with the supported protocol (such as RMI, HTTP and so). false
com.j_spaces.core.container.directory
_services.jndi.url
The network url and port for the JMXConnector service:jmx:rmi:///jndi/
rmi://127.0.1.1:10098/jmxrmi

Refer to JMX Management

Dump

Property name Description Default
com.gs.memory.create-heap-dump-on-memory-shortage Turn on and off the heap dump false
com.gs.memory.max-heaps-on-memory-shortage Turn off heap dump after n times 1
com.gs.memory.heaps-on-memory-shortage-quiet-period How much time to wait between heap dumps 24h

These values can be modified using the JConsole using the HeapDumpMBean with ObjectName org.xap:type=HeapDumpMBean Refer to JMX Management

Multicast

Property name Description Default
com.gs.multicast.enabled Global property allowing you to completely enable or disable multicast in the system. true
com.gs.multicast.announcement the multicast address that controls the lookup service announcement. The lookup service uses this address to periodically announce its existence. 224.0.1.188
com.gs.multicast.request the multicast address that controls the request of clients (when started) to available lookup services. 224.0.1.187
com.gs.multicast.discoveryPort the port used during discovery for multicast requests. Defaults to 4174. Note that in case the property com.sun.jini.reggie.initialUnicastDiscoveryPort system property is not defined it is also used as the default post for unicast requests. 4174
com.gs.multicast.ttl The multicast packet time to live. 3

Web

Property name Description Default
com.gigaspaces.start.httpPort Webster http port definition default 0 - free port
com.gigaspaces.start.httpServerRetries Webster http port retries - if the initial HTTP port is in use, tries ports between httpPort .. and httpPort+(N-1) default is 10, for example: initial port=1900 tries 1900, 1901, ... 1909
com.gigaspaces.start.hostAddress Webster host address. default is localhost
com.gigaspaces.start.httpRoots Webster root library locations. Default includes GigaSpaces libraries, Jini libraries, etc.
com.gigaspaces.start.addHttpRoots Additional Webster root library locations (appended to httpRoots). gslib;gslibrequuired;deployroot
com.gs.browser.httpd.enabled Boolean value. Setting this property to true indicates to start a Webster HTTPD server inside the Space Browser. true
com.gs.embedded-services.httpd.port Indicates to start Webster HTTPD in the specified port. By default, it uses an 9813 port or generated one if it is used. 9813

Space Filter

Property name Description Default
com.gs.filters.statistics.enabled Enabling / disable Space filter statistics. true

Refer to Space Filters

Logging

Property name Description Default
com.gs.logging.disabled If true, the default xap_logging.properties file will not be loaded and none of the GS log handlers will be set to the LogManager. false
com.gs.logging.debug To troubleshoot and detect which logging properties file was loaded and from which location, set the following system property to true. This property already exists in the scripts (for convenience) and by default is set to false. false
line.separator The GS logging formatter Line separator string. This is the value of the line.separator property at the moment that the SimpleFormatter was created.
java.util.logging.config.file It indicates file path to the Java logging file location. Use it to enable finest logging troubleshooting of various GigaSpaces Services. You may control this setting via the GS_LOGGING_CONFIG_FILE_PATH environment variable. $GS_HOME\config\log\xap_logging.properties
Logging Categories Refer to Logging Categories

Refer to Logging

Debug

Property name Description Default
com.gs.debug Used in examples - benchmark , query, p2p , p2p fifo , p2p JMS, SimpleQueueReceiver,SimpleQueueSender, SimpleTopicPublisher, SimpleTopicSubscriber. False

Fault Detection

Space Proxy Router

Property name Description Default
space-config.proxy.router.active-server-lookup-timeout If an operation cannot be executed because the target member is not available, the maximum time (in milliseconds) the router is allowed to wait while searching for an active member. 20000
space-config.proxy.router.active-server-lookup-sampling-interval The interval (in milliseconds) between active member lookup samples. 100
space-config.proxy.router.threadpool-size Number of threads in the dedicated thread pool used by the space proxy router 2 * number of cores
space-config.proxy.router.load-balancer-type Load balancer type to be used by the router for active-active topologies (STICKY or ROUND_ROBIN) STICKY

Slow Consumer

Server side

Property name Description Default Unit
com.gs.transport_protocol.lrmi.slow-consumer.enabled Specify whether slow consumer protection is enabled false
com.gs.transport_protocol.lrmi.slow-consumer.throughput Specify what is the lower bound of notification network traffic consumption (in bytes) by a client which below it, is suspected as a slow consumer. 5000 bytes/second
com.gs.transport_protocol.lrmi.slow-consumer.latency Specify a time period the space will evaluate a client suspected as slow consumer until it will be identified as a slow consumer. At the end of this time period, a client identified as a slow consumer will have its notification lease canceled. 500 milliseconds
com.gs.transport_protocol.lrmi.slow-consumer.retries Specify the number of times within the specified latency limitation a space will retry to send notification into a client suspected as a slow consumer. 3 retries

Client side

Property name Description Default Unit
com.gs.transport_protocol.lrmi.threadpool.queue-size specify the lrmi thread pool maximum queue size Integer.MAX_VALUE Notification Packets (object/batch)
com.gs.fifo_notify.queue specify the fifo notifications queue size Integer.MAX_VALUE Notification Packets (object/batch)

Refer to Slow consumer

Cluster

Property name Description Default
com.gs.cluster.cluster_enabled Used by the space schema. false
com.gs.cluster.config-url Used by the space schema.
com.gs.cluster.cache-loader.shared-data-source Used by the cluster schemas for the CacheLoader.
com.gs.cluster.livenessMonitorFrequency Defines the frequency in which liveness of "live' members in a cluster is monitored. See Viewing Clustered Space Status for more details. 10000 ms
com.gs.cluster.livenessDetectorFrequency Defines the frequency in which liveness of members in a cluster is detected. See Viewing Clustered Space Status 5000 ms
com.gs.cluster.cache-loader.external-data-source Boolean property. Must be set to true when working with external data source false
com.gs.cluster.cache-loader.central-data-source Boolean property. Must be set to true when the cluster uses external data source and
a central database to keep its data
false
com.gs.cluster.url-protocol-prefix Used in clustered configuration to provide same prefix for all cluster members URL 0 i.e. rmi:RMIRegistryMachineHostName. Not set by default
com.gs.clusterXML.debug Boolean value. If true, display cluster configuration when space started. False

Replication

Property name Description Default
com.gs.replication.disable-duplicate-filtering Disables the duplication filtering mechanism used to avoid double processing of packets after recovery. false

Refer to Replication

Space Browser

Property name Description Default
com.gs.browser.containername Used in browser UI to set the default SpaceURL address field. com.gs.browser.containername= mySpace_container controls the default container name in the Space Browser Space URL field, when the browser is started.
com.gs.browser.laf.isCross SpaceBrowser UI Look and Feel.
com.gs.browser.unicast_discovery Sets the Space Browser unicast discovery using hostname:port URL. com.gs.browser.unicast_discovery=<ip-address> can be used if multicast is disabled on the local machine. In such a case, the unicast protocol is used for the lookup discovery (unicast discovery is disabled by default). By default it is not set

XML

Property name Description Default
com.gs.xmlschema.validation Boolean value. If false, does not validate cluster XML config schema. true

Transaction

Property name Description Default
com.gs.xa.failOnInvalidRollback When set to false, the XAResource does not throw an error when attempting to roll back a non-existing transaction or a transaction the has already been rolled back. For more details, see Javadoc true

JDBC

Property name Description Default
com.gs.embeddedQP.enabled Boolean value. Used at JDBC driver. If true, running query processor embedded within the application. False
com.gs.embeddedQP.properties Used at JDBC driver. Properties file location.

Garbage Collection

Property name Description Default
gs.start.scheduledSystemBootTime Time between 2 successive gc statistics check 10000 ms
gs.rmi.loaderHandlerCleaner if true, the loaderHandlerCleaner.clean() method is called each gs.start.scheduledSystemBootTime time True
gs.gc.collectionTimeThresholdWarning When the gc takes more then this time, a warning is shown: logger.warning("Long GC collection occurred, took [" + collectionTime + "ms], breached threshold [" + gcCollectionWarning + "]"); 60000 ms

Misc

Property name Description Default value
com.gs.jndi.url Used by the container schema. localhost:10098
com.gs.protocol Used by the space schema. NIO
com.gs.engine.cache_policy Used by the space schema. 1 - ALL IN CACHE
com.gs.env.report Allows you to view all the runtime configuration settings. false
com.gs.licensekey License key string.
com.gs.localhost.name
-Dcom.gs.jini_lus.locators

The lookup hosts used by client programs to connect. It is an alternative to setting the GS_LOOKUP_LOCATORS environment variable. When configuring GS_MANAGERS_SERVERS do not set this system property.

Configuring manager servers includes LUS definitions. When you define GS_MANAGER_SERVERS, do not define GS_LOOKUP_LOCATORS.

N/A
-Dcom-gs.jini_lus.groups This is an alternative to setting the GS_LOOKUP_GROUPS environment variable. xap-[version#]

Refer to the SystemProperties class for more details.