Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-23744

UIDSequencer based on Key/Value Store

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.2
    • Impact type:
      Configuration Change
    • Upgrade notes:
      Hide

      A new KeyValueStoreUIDSequencer is available, to store sequences in a key/value store. The store is the same for all sequencers, but they are using different keys, prefixed by the sequencer name.

      It can be used by doing for example:

      <extension target="org.nuxeo.ecm.core.uidgen.UIDGeneratorService" point="sequencers">
        <sequencer name="uidgen" class="org.nuxeo.ecm.core.uidgen.KeyValueStoreUIDSequencer" default="true" />
      </extension>
      
      <extension target="org.nuxeo.runtime.ConfigurationService" point="configuration">
        <!-- this is an example, "sequence" is already the default -->
        <property name="nuxeo.uidseq.keyvaluestore.name">sequence</property>
      </extension>
      

      Assuming the following configuration to define a suitable key/value store, for example:

      <extension target="org.nuxeo.runtime.kv.KeyValueService" point="configuration">
        <store name="sequence" class="org.nuxeo.ecm.core.mongodb.kv.MongoDBKeyValueStore">
          <property name="collection">sequence</property>
        </store>
      </extension>
      
      Show
      A new KeyValueStoreUIDSequencer is available, to store sequences in a key/value store. The store is the same for all sequencers, but they are using different keys, prefixed by the sequencer name. It can be used by doing for example: <extension target= "org.nuxeo.ecm.core.uidgen.UIDGeneratorService" point= "sequencers" > <sequencer name= "uidgen" class= "org.nuxeo.ecm.core.uidgen.KeyValueStoreUIDSequencer" default= "true" /> </extension> <extension target= "org.nuxeo.runtime.ConfigurationService" point= "configuration" > <!-- this is an example, "sequence" is already the default --> <property name= "nuxeo.uidseq.keyvaluestore.name" > sequence </property> </extension> Assuming the following configuration to define a suitable key/value store, for example: <extension target= "org.nuxeo.runtime.kv.KeyValueService" point= "configuration" > <store name= "sequence" class= "org.nuxeo.ecm.core.mongodb.kv.MongoDBKeyValueStore" > <property name= "collection" > sequence </property> </store> </extension>
    • Sprint:
      nxFG 10.1.2, nxFG 10.2.1, nxFG 10.2.2
    • Story Points:
      2

      Description

      To be able to not depend on Redis directly (or indeed any specific backend), we would like an implementation of the UIDSequencer based on the Key/Value Store API.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 hours
                  2h