This is archived documentation for an older version of Nirvana (v3.1). Please refer to documentation for the latest version if required.

Nirvana Enterprise Manager - Realm Configuration

Introduction

Nirvana Realms can be configured based on a nuumber of parameters that are accessible both through the Nirvana Administration API as well as the Nirvana Enterprise Manager. Any changes made to the configuration parameters for a Nirvana realm are automatically sent to the realm and implemented. This functionality offers major benefits to Administrators, since realms can be configured remotely, without the need to be anywhere near the actual realm itself. More importantly, multiple realms and clustered realms can also be automatically configured remotely.

This section will describe the different configuration parameters that are available using the Nirvana Enterprise Manager.

When you select a realm from the namespace, one of the available panels in the Enterprise Manager is labelled 'Config'. Selecting this panel displays 11 sets of configuration properties, with each set of properties relating to a specific area within the Nirvana Realm. Each set of properties contains different values for specific items. The image below shows the config panel for a selected realm within the namespace.

The 11 configuration groups are :

GlobalValues - Values specific to the realm process itself
AuditSettings - Values relating to what information is stored by the audit process
ClientTimeoutValues - Values relating to client / server interaction
ClusterConfig - Values specific to the clustering engine
EventStorage - Values specific to how events are stored and retrieved on the server
FanoutValues - Values specific to the delivery of events to clients
JVMManagement - Values relating to the JVM the Realm Server is using
JoinConfig - Values specific to channel join management
RecoveryDaemon - Values relating to clients that are in recovery (i.e. replaying large numbers of events)
TransactionManager - Values specific to the transaction engine of the RealmServer
EnvironmentConfig - Read only configuration values that relate to the system environment. These cannot be changed.

The table below describes each of the configuration groups and the items that can be changed within each group. It also shows valid ranges of values and a description of what each value actually represents.

Configuration Element Valid Paramaters Description
GlobalValues    
SchedulerPoolSize 1 to 4 The number of threads assigned to the scheduler, default is 2
MaxNoOfConnections -1 to NO_LIMIT Sets the maximum concurrent connections to the server, -1 indicates no restriction, default is -1.
StatusUpdateTime 2000 to NO_LIMIT The number of ms between status events being written to disk. Status events provide a history of the realm's state, the default for this is Long.MAX_VALUE, i.e. never written to disk.
StatusBroadcast 2000 to NO_LIMIT The number of ms between status events being published. Default is 5000, i.e. every 5 seconds.
fLoggerLevel 0 to 7 The server logging level, between 0 and 7 with 0, indicating very verbose, and 7 inidicating very quiet. Default is 1.
NHPTimeout 2000 to NO_LIMIT The number of milliseconds the server will wait for client authentication. Default is 120000, i.e. 2 minutes.
NHPScanTime 5000 to NO_LIMIT The number of milliseconds that the server will wait before scanning for client timeouts. Default is 5000, i.e. 5 seconds
HandshakeTimeout 1000 to NO_LIMIT The number of milliseconds that the server will wait for the session to be established. Default is 1000, i.e. 1 second
StampDictionary true or false Place Nirvana details into the dictionary (true/false), default is false.
ExtendedMessageSelector true or false If true, allows the server to use the extended message selector syntax (true/false). Default is false.
ServerTime true or false Allow the server to send the current time to the clients (true/false). Default is true.
SecureHandshake true or false Performs a security handshake when connecting into a cluster. Default is true.
ConnectionDelay 20000 to 60000 When the server has exceeded the connection count, how long to hold on to the connection before disconnecting. Default is 60000.
SupportVersion2Clients true or false Allow the server to support older clients (true/false). Default is true.
SendRealmSummaryStats true or false If true sends the realms status summary updates (true/false). Default is false.
     
AuditSettings    
RealmMaintenance true or false Log to the audit file any realm maintenance activity. Default is true.
InterfaceManagement true or false Log to the audit file any interface management activity. Default is true.
ChannelMaintenance true or false Log to the audit file any channel maintenance activity. Default is false.
QueueMaintenance true or false Log to the audit file any queue maintenance activity. Default is false.
ServiceMaintenance true or false Log to the audit file any service maintenance activity. Default is true.
JoinMaintenance true or false Log to the audit file any join maintenance activity. Default is true.
RealmSuccess true or false Log to the audit file any successful realm interacttions. Default is false.
ChannelSuccess true or false Log to the audit file any successful channel interactions. Default is false.
QueueSuccess true or false Log to the audit file any successful queue interactions. Default is false.
ServiceSuccess true or false Log to the audit file any successful realm interactions. Default is false.
JoinSuccess true or false Log to the audit file any successful join interactions. Default is false.
RealmFailure true or false Log to the audit file any unsuccessful realm interactions. Default is true.
ChannelFailure true or false Log to the audit file any unsuccessful channel interacttions. Default is true.
QueueFailure true or false Log to the audit file any unsuccessful queue interactions. Default is true.
ServiceFailure true or false Log to the audit file any unsuccessful service interactions. Default is true.
JoinFailure true or false Log to the audit file any unsuccessful join interactions. Default is true.
RealmACL true or false Log to the audit file any unsuccessful realm acl interactions. Default is true.
ChannelACL true or false Log to the audit file any unsuccessful channel acl interactions. Default is true.
QueueACL true or false Log to the audit file any unsuccessful queue acl interactions. Default is true.
ServiceACL true or false Log to the audit file any unsuccessful service acl interactions. Default is true.
     
ClientTimeoutValues    
EventTimeout 5000 to NO_LIMIT The amount of ms the client will wait for a response from the server. Default is 60000.
DisconnectWait 5000 to NO_LIMIT The maximum amount of time to wait when performing an operation when disconnected before throwing session not connected exception. Default is 120000.
TransactionLifeTime 1000 to NO_LIMIT The default amount of time a transaction is valid before being removed from the tx store. Default is 20000.
KaWait 5000 to NO_LIMIT The amount of time the client will wait for keep alive interactions between server before acknowledging disconnected state. Default is 60000.
LowWaterMark 1 to NO_LIMIT The low water mark for the connection internal queue. When this value is reached the outbound internal queue will again be ready to push event to the server. Default is 50.
HighWaterMark 2 to NO_LIMIT The high water mark for the connection internal queue. When this value is reached the internal queue is temporarily suspended and unable to send events to the server. This provides flow control between publisher and server. Default is 200.
QueueBlockLimit 500 to NO_LIMIT The maximum number of milliseconds a queue will have reached HWM before notifying listeners, Default is 500.
QueueAccessWaitLimit 200 to NO_LIMIT The maximum number of milliseconds it should take to gain access to a queue to push events before notifying listeners. Default is 200
QueuePushWaitLimit 200 to NO_LIMIT The maximum number of milliseconds it should take to gain access to a queue and to push events before notifying listeners. Default is 200.
     
ClusterConfig    
HeartBeatInterval 1000 to 120000 Heart Beat interval in milliseconds. Default is 120000.
SeperateLog true or false Create a seperate log file for cluster events. Default is false.
EventsOutStanding 10 to 100 Number of events outstanding. Default is 10.
     
EventStorage    
CacheAge 1000 to NO_LIMIT The time in ms that cached events will be kept in memory for. Default is 86400000.
ThreadPoolSize 1 to 4 The number of threads allocated to perform the management task on the channels. Default is 1.
ActiveDelay 100 to NO_LIMIT The time in milliseconds that an active channel will delay between scans. Default is 1000.
IdleDelay 5000 to NO_LIMIT The time in milliseconds that an idle channel will delay between scans. Default is 60000.
     
FanoutValues    
ConcurrentUser 1 to NO_LIMIT The number of client threads allowed to execute concurrently in the server. Default is 5.
KeepAlive 5000 to NO_LIMIT The number of milliseconds between the server will wait before sending a heartbeat. Default is 60000.
QueueHighWaterMark 2 to NO_LIMIT The number of events in a client output queue before the server stops sending events. Default is 100.
QueueLowWaterMark 1 to NO_LIMIT The number of events in the clients queue before the server resumes sending events. Default is 50.
MaxBufferSize 1024 to NO_LIMIT The maximum buffer size that the server will accept. Default is 1048576.
OutputBlockSize 100 to NO_LIMIT The size of the output block size. Default is 1400.
PublishDelay 0 to NO_LIMIT How long to delay the publisher when subscribers queue start to fill, in milliseconds. Default is 10.
RoundRobinDelivery true or false Use a round robin approach to event delivery (true/false). Default is false.
PublishExpiredEvents true or false Publish expired events at server startup (true/false). Default is true.
     
JVMManagement    
MemoryMonitoring 60 to 30000 Number of milliseconds between monitoing memory usage on the realm. Default is 100.
WarningThreashold 70 to 95 The memory threshold when the server starts to scan for objects to release. Default is 85, i.e. 85%.
EmergencyThreshold 80 to 99 The memory threshold when the server starts to agressively scan for objects to release. Default is 94, i.e. 94%
ExitOnMemoryError true or false If true, the server will exit if it gets an out of memory exception. Default is true.
ExitOnDiskIOError true or false If true, the server will exit if it gets a I/O Exception. Default is true
     
JoinConfig    
MaxEventsPerSchedule 1 to NO_LIMIT Number of events that will be sent to the remote server in one run. Default is 50.
MaxQueueSizeToUse 1 to NO_LIMIT The maximum events that will be queued on behalf of the remote server. Default is 100.
ActiveThreadPoolSize 1 to NO_LIMIT The number of threads to be assigned for the join recovery. Default is 2.
IdleThreadPoolSize 1 to NO_LIMIT The number of threads to manage the idle and reconnection to remote servers. Default is 1.
     
RecoveryDaemon    
ThreadPool 1 to NO_LIMIT Number of threads to use for client recovery. Default is 4.
EventsPerBlock 1 to NO_LIMIT The number of events to send in one block. Default is 500.
     
TransactionManager    
MaxTransactionTime 1000 to NO_LIMIT Time in milliseconds that a transaction will be kept active. Default is 86400000.
MaxEventsPerTransaction 0 to NO_LIMIT The maximum number of events per transaction, a 0 indicates no limit. Default is 0.
TTLThreshold 1000 to 60000 The minimum time in milliseconds, below which the server will not store the Transaction ID. Default is 1000.

Double-clicking on the item you wish to modify in the configuration group will provide you with a dialog window where the new valule can be entered. Configuration items will be validated to check whether they are within the correct range of values. If you enter an incorrect value you will be notified.