Skip to content

Alluxio compatibility definition(draft)

maobaolong edited this page Nov 11, 2022 · 2 revisions

We provide compatibility with old version alluxio service and client within a big version(Alluxio-BIG_VERSION-SMALL_VERSION-TINY_VERSION), so that we can support user rolling upgrade clients, workers and masters through multiply thread in the same period.

Concretely, we should keep the old behavior work with the original configuration under the following situation.

  • Rolling upgrade Clients: NewClient1, OldClient2, NewMasters, NewWorker1, NewWorker2.
image
  • Rolling upgrade Workers: NewClient1, OldClient2, NewWorker1, OldWorker2, NewMasters.
image
  • Rolling upgrade Masters: NewClient1, OldClient2, NewWorker1, OldWorker2, NewMaster1, OldMaster2, OldMaster3

    • First, we will transfer leadership from Master1 to Other Masters, let's say Master2, then upgrade master1 to NewMaster1.
image
  • Second, we transfer leadership from Master2 to NewMaster1, if NewMaster1 didn't run as good as expected, just transfer leadership back to the OldMaster2 at once.
image
  • Finally, after we observe NewMaster1 for a certain time and we can brave enough to upgrade all masters to New Version.
image

Same with job service.