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

Cancelled segment transfer causes future entry transfer to be ignored

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 7.0.0.Alpha5
    • 7.0.0.Alpha1
    • State Transfer
    • None

      Distributed transactional cache.

      1) Coordinator is gracefully leaving the cluster, sends a REBALANCE_START with topologyId 14, ST begins.
      2) Node receives chunk from segment X, writes entry K=V to the container.
      3) New coordinator jumps in with CH_UPDATE topology 16
      4) Node receives CANCEL_STATE_TRANSFER and cancels transfer of segment X, invalidating K. In CommitManager, this operation is tracked and DiscardPolicy is set to DISCARD_STATE_TRANSFER for key K.
      5) New coordinator starts rebalance with topology 17
      6) Node starts new ST for segment X
      7) Node receives the X: K=V, but in CommitManager it finds out that the policy is set to DISCARD_STATE_TRANSFER and ignores this update.

      Result: entry value is lost on some node.

            dberinde@redhat.com Dan Berindei (Inactive)
            rvansa1@redhat.com Radim Vansa (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: