Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
A             B             C
5(A) -------> 5(A) -------> 5(A) # 5(A) means PID:5, source cluster:A
              CB   ---------> CB   # Control Batch appended when A failover to B
              5(B) -------> 5(B) # In B and C, even if 2 records with PID 5, they won't duplicate with each other because of the control batch.

...

  • STOPPING: remove fetchers, truncate to LSO, persist last mirrored offsets, write MIRROR_PID_RESET barrier
  • STOPPED:  partition is writable (terminal state, no actions)

The key follows the standard control record format (version=0, type=7). The value uses the MirrorPidResetRecord schemathe MirrorPidResetRecord schema:

Code Block
{
  "type": "data",
  "name": "MirrorPidResetRecord",
  "validVersions": "0",
  "flexibleVersions": "0+",
  "fields": [
    { "name": "Version", "type": "int16", "versions": "0",
      "about": "The version of the mirror PID reset record."},
    { "name": "SourceClusterId", "type": "string", "versions": "0",
      "about": "The source cluster UUID for verification."}
  ]
}

...