roma_logo ROMA-Project
  • Getting Started
  • Learn
    • Tutorial
    • Status List
    • Monitoring Point
    • Trouble Shooting
    • FAQ
    • ROMA Training Map
  • Docs
    • About ROMA
    • Versions
    • Architectures
    • Configuration File
    • Plugin
    • High Stability
    • Storage Architecture
    • Developer Manual
    • PHP client
    • Ruby client
    • Java client
  • Commands
  • GUI Tools
  • Discuss
    • Blog
    • Mailing List
    • Issues
    • Twitter
    • Facebook
    • Google+
    • Github
    • Quora

    Reference

  • About ROMA
  • Versions
  • Architectures
  • Configuration File
    • - General
    • - Fail-over
    • - Connection
    • - Lost Data
    • - Logging
    • - Routing
    • - Storage
    • - Data Copying
    • - Plugin
    • - Write-Behind
    • - Redundancy
    • - DNS
  • Plugin
  • High Stability
  • Storage Architecture
  • Roma clients

  • PHP client
  • Ruby client
  • Java client

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.

  • no_action : ROMA denies access to lost data.
  • auto_assign : ROMA can access the data as if the lost data never existed.
  • shutdown : ROMA will shutdown if the data is lost.
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 : Output logs including debug information.
  • info : Output logs including "information".
  • warn : Output logs including warning.
  • error : Output only error.
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: Nothing will occur.
  • shutdown: ROMA will shutdown.
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

Back to top

@ 2017 Roma Project / Promoted by Rakuten, Inc. and Rakuten Institute of Technology