Reference for ROMA
Configuration File
Location the Configuration File
By default, the configuration file named config.rb, which is stored in the #{your roma path}/lib/roma directory.
ROMA is able to use the configuration file which is stored the directory where is not by default.
In that case, the starting up of ROMA requires the '--config' option of the romad command.
Refer to Commands for more information.
Configuration Parameter Descriptions
General
Attribute Name | Description | Default Value | Version |
VERSION |
version No. of config.rb. You can boot ROMA with same version's config.rb. It means you can NOT use old config.rb, because some contents are added between versions. | Same version with ROMA | ~> v0.8.0 |
DEFAULT_PORT | Roma process starts up at specified port number. | 12000 | ~> v0.8.0 |
DEFAULT_NAME | Specified name for process taking part in ROMA. | ROMA | ~> v0.8.0 |
Fail-over
Attribute Name | Description | Default Value | Version |
ROUTING_FAIL_CNT_THRESHOLD | Threshold value for fail-over to occur. When ROMA fails to get routing information the number of times which is specified in this parameter, ROMA will failover. |
15 | ~> v0.8.3 |
ROUTING_FAIL_CNT_GAP | Specify time (in seconds). When ROMA can't get the routing information while ROUTING_FAIL_CNT_GAP time elapse, ROMA counts up a counter for fail-over. |
0 | ~> v0.8.3 |
Connection
Attribute Name | Description | Default Value | Version |
CONNECTION_USE_EPOLL |
Choose the system-call to communicate with non-blocking connection. true : Use epoll system-call. It is required EventMachine 0.12.8 or more. false or not specified : Use select system-call. Note that total count of FD which ROMA can use is limited to 1024. |
true | ~> v0.8.4 |
CONNECTION_DESCRIPTOR_TABLE_SIZE |
Specify the maximum number of FD when ROMA use epoll system-call. When ROMA is using "CONNECTION_USE_EPOLL = true", this parameter is necessary. This value must be smaller than OS settings. |
4096 | ~> v0.8.4 |
CONNECTION_CONTINUOUS_LIMIT |
Specify the upper limit of connections. Basically it is the same idea as MaxStartups of SSH. Specify the three colon separated values ''start:rate:full'' (e.g., '200:30:300'). if used connections reaches "start"(200), ROMA will disconnect unused connection with a probability of ''rate/100'' (30%). the number of using connections reaches "full"(300), ROMA will disconnect unused connections with a probability of 100%. When ROMA is using epoll, the value of start and end should be smaller than CONNECTION_DESCRIPTOR_TABLE_SIZE settings. When ROMA is using select, the value of start and end should be smaller than 1024. (e.g., '700:10:800'). |
'200:30:300' | ~> v0.8.3 |
CONNECTION_EXPTIME |
Specify time(in seconds). When a connection which ROMA received isn't used while CONNECTION_EXPTIME seconds, ROMA will disconnect this connection. If the value is 0, then ROMA will not disconnect. |
60 | ~> v0.8.4 |
CONNECTION_POOL_EXPTIME |
Specify time(in seconds). When ROMA uses a connection pool of asynchronous connection, ROMA will disconnect the connection which isn't used while CONNECTION_POOL_EXPTIME seconds after the connection is returned to the pool. This parameter should be smaller than CONNECTION_EXPTIME parameter. |
30 | ~> v0.8.4 |
CONNECTION_POOL_MAX |
Specify the maximum number of connections which the connection pool of asynchronous connection keeps. The recommended value is 5 because the amount of asynchronous connection is relatively small. |
5 | ~> v0.8.4 |
CONNECTION_EMPOOL_EXPTIME |
Specify time(in seconds). When ROMA uses a connection pool of synchronous connection, ROMA will disconnect the connection which isn't used while CONNECTION_EMPOOL_EXPTIME seconds after the connection is returned to the pool. The parameter should be smaller than CONNECTION_EXPTIME parameter. |
30 | ~> v0.8.4 |
CONNECTION_EMPOOL_MAX |
Specify the maximum number of connections which the connection pool of synchronous connection keeps. The amount of synchronous connection depends on the traffic of client accesses. The recommended value is approximately-same as the number of ROMA client pool settings, as a rough guide 10 to 15. |
15 | ~> v0.8.4 |
Lost Data
Attribute Name | Description | Default Value | Version |
DEFAULT_LOST_ACTION |
DEFAULT_LOST_ACTION specifies the default action when ROMA loses data by server trouble.
|
auto_assign | ~> v0.8.0 |
Logging
Attribute Name | Description | Default Value | Version |
LOG_SHIFT_AGE | Specify number of log files which are rotated. | 10 | ~> v0.8.0 |
LOG_SHIFT_SIZE | Specify size (in bytes) of the log files. When the log file reaches this size, it will rotate to the next file. |
1024 * 1024 * 10 (10,485,760) |
~> v0.8.0 |
LOG_PATH | Specify directory that ROMA create log files in. The default directory is current directory. |
' . ' | ~> v0.8.0 |
LOG_LEVEL |
Specify level of outputting log files. Choose one of four level below;
|
debug | ~> v0.8.2 |
Routing
Attribute Name | Description | Default Value | Version |
RTTABLE_PATH | Specify directory for ROMA to retrieve routing information file. Default directory is current directory. | ' . ' | ~> v0.8.0 |
AUTO_RECOVER | In case of true, ROMA will execute recover when short vnodes rise. To use a auto recover function, AUTO_RECOVER is to set true | false | ~> v0.8.13 |
Storage
Attribute Name | Description | Default Value | Version |
STORAGE_CLASS |
Choose the storage class which is implemented to ROMA process. Default storage class is RubyHash. |
Roma::Storage::RubyHashStorage | ~> v0.8.0 |
STORAGE_DIVNUM | Specify the number which divides the storage of ROMA process. | 10 | ~> v0.8.0 |
STORAGE_PATH |
Specify directory that ROMA should create storage files in. This is required when ROMA select file-based storage implementation. Default directory is current directory. |
' . ' | ~> v0.8.0 |
STORAGE_DUMP_PATH |
Specify directory for ROMA to create snapshot files of current storage. Default directory is "/tmp" directory. |
/tmp | ~> v0.8.0 |
STORAGE_OPTION | Specify the details option of storage. | N/A | ~> v0.8.0 |
STORAGE_DELMARK_EXPTIME |
Specify interval (in seconds) in which the deleted value is collected by GC. Default is 5 days. |
60 * 60 * 24 * 5 (432,000) |
~> v0.8.0 |
STORAGE_EXCEPTION_ACTION |
Choose the action which ROMA takes if the storage encounters Exception Error.
|
no_action | ~> v0.8.8 |
STORAGE_CLEAN_UP_INTERVAL | Specify the time(sec) interval to execute clean up. Clean up process delete the data which have del flg. | 60 * 5 | ~> v0.8.12 |
Data Copying
Attribute Name | Description | Default Value | Version |
DATACOPY_STREAM_COPY_WAIT_PARAM | Specify waiting time (in seconds) to copy the data slowly between nodes. | 0.0001 | ~> v0.8.0 |
Plugin
Attribute Name | Description | Default Value | Version |
PLUGIN_FILES | Specify plugin which are read, when ROMA process is started. | ['plugin_storage.rb'] | ~> v0.8.0 |
Write-Behind
Attribute Name | Description | Default Value | Version |
WRITEBEHIND_PATH |
Specify directory for ROMA to create event log files asynchronously. Default directory is "./wb" directory. |
./wb | ~> v0.8.0 |
WRITEBEHIND_SHIFT_SIZE |
Specify size (in bytes) of the event log files. When log file reaches this size, then log file rotates to the next file. Default size is 10MB. |
1024 * 1024 * 10 (10,485,760) |
~> v0.8.0 |
Redundancy
Attribute Name | Description | Default Value | Version |
REDUNDANT_ZREDUNDANT_SIZE |
Specify the maximum size (in bytes) of data. While data is forwarded to other nodes for redundancy, data that exceed this size will be compressed before forwarding. Default data size is 0. If the value is 0 then the data will not be compressed. |
0 | ~> v0.8.0 |
DNS
Attribute Name | Description | Default Value | Version |
DNS_CACHING |
Lookup hostname to the nameserver everytime or only first time. If set true, the result of lookup will keep. |
false | ~> v0.8.13 |