A key/value store implementation that interacts with a Cassandra persistence resource is included within a Rhino installation.

An example configuration fragment for this key/value store, with the default values for each configurable parameter, is shown below:

  <key-value-store name="cassandra" service-provider-class-name="com.opencloud.resource.kvstore.cassandra.CassandraKeyValueStoreServiceProvider">
    <parameter name="keyspaceNamePrefix" type="java.lang.String" value="${KEY_VALUE_STORE_KEYSPACE_PREFIX}"/>
    <parameter name="keyspaceReplication" type="java.lang.String" value="{'class': 'SimpleStrategy', 'replication_factor': 3}"/>
    <parameter name="allowDataDefinitionUpdates" type="boolean" value="${KEY_VALUE_STORE_ALLOW_DDU}"/>
    <parameter name="durableWrites" type="boolean" value="true"/>
    <parameter name="sessionReconnectionPeriod" type="long" value="5000"/>
    <parameter name="dataVersion" type="java.lang.String" value="1"/>
    <parameter name="ttl" type="int" value="86400"/>
    <parameter name="tombstoneGCGracePeriod" type="int" value="900"/>
    <parameter name="writeThreadCount" type="int" value="10"/>
    <parameter name="writeDelay" type="long" value="900"/>
    <parameter name="minTransactionAge" type="long" value="250"/>
    <parameter name="maxTransactionAge" type="long" value="1500"/>
    <parameter name="maxPersistDeferredTransactionAge" type="long" value="10000"/>
    <parameter name="scanReschedulingDelay" type="long" value="100"/>
    <parameter name="insertDebugLoggingTruncationLength" type="int" value="100"/>
    <parameter name="maxBatchStatementSize" type="int" value="80000"/>
    <parameter name="readTimeout" type="long" value="2000"/>
    <parameter name="writeTimeout" type="long" value="2000"/>
    <parameter name="pendingSizeLimit" type="java.lang.String" value="-1"/>
    <parameter name="pendingSizeAlarmBounceSuppressionFilterPeriod" type="long" value="1000"/>
    <parameter name="maxScanTimeThreshold" type="long" value="500"/>
    <parameter name="maxPersistTimeThreshold" type="long" value="5000"/>
    <parameter name="overThresholdTriggerCount" type="int" value="5"/>
    <parameter name="gcScanPeriod" type="int" value="300"/>
    <parameter name="gcGracePeriod" type="int" value="7200"/>
    <persistence-resource-ref name="cassandra"/>
  </key-value-store>

This configuration is provided in the Rhino installation’s default rhino-config.xml file but is disabled by default. It can be automatically enabled during Rhino installation by requesting the KeyValueDatabase be used as the replicated storage resource.

Documentation for the key/value store’s service provider class, which includes a full description of all the configurable parameters, is included in the Rhino installation within the doc/api/key-value-store subdirectory.

Previous page Next page
Rhino Version 3.2