Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-15914

External Transaction Table

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Transactions
    • None

      Each node contains a transaction table that is local to the node. However, it contains transactions originating from the local cluster.

      Currently, there are 2 sources of outside (external) transactions, which are managed from a system outside the cluster: hot rod client and cross-site.

      The Hot Rod client has a replicated cache as a transaction table to handle this case, but cross-site does not. Cross-site transactions are only stored in a single node which can lead to data/transaction loss.

      The proposal is to have an external transaction table component, backed up with a replicated cache or RAFT protocol.

      It needs to be configured as follows

      • enabled -> (default: false) If there are no external transactions, we skip the initialization altogether.
      • partitions -> (default: available) or consistent if partition handling should be enabled
      • storage -> (default: volatile) or persistent (does it make sense?)
      • max-active -> (default -1) eviction if storage==persistent

      This logic will live in the core module so it can be shared between cross-site and Hot Rod server code.

              pruivo@redhat.com Pedro Ruivo
              pruivo@redhat.com Pedro Ruivo
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: