Skip to content

Upgrade plan from 1.6 to 1.10 #3042

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Tracked by #2572
Mons opened this issue Apr 24, 2020 · 8 comments · Fixed by #3080
Closed
Tracked by #2572

Upgrade plan from 1.6 to 1.10 #3042

Mons opened this issue Apr 24, 2020 · 8 comments · Fixed by #3080

Comments

@Mons
Copy link

Mons commented Apr 24, 2020

Epic: Tarantool installation and upgrades

SME: @ sergepetrenko

We have a cluster of 1.6 with the following configuration:

  • 7 nodes
  • full mesh
  • one rw, others ro
  • rich application with background fibers and network operations (net.box & http)
  • rw have background fibers modify data and work with network
  • balancer, that routes request traffic to ro or rw depending on instance status and role (in fact, balancers are 1.10)

We know, that application works on 1.10 without any modifications due to compatibility layer, based on kit, config and spacer/v1 (from github.com/moonlibs).

We need a guide to perform live migration without downtime from 1.6 to 1.10, i.e. we can't stop writes or reads "for some time"

@kyukhin kyukhin added feature A new functionality qa labels Apr 24, 2020
@Totktonada
Copy link
Member

@Mons There is the instruction: https://www.tarantool.io/en/doc/1.10/book/admin/upgrades/

Are there something that it does not cover? Are you expect other actions from us aside revisiting of the instruction?

@ligurio ligurio changed the title Upgrade plan from 1.6 to 1.10 or 2.X Upgrade plan from 1.6 to 1.10 Apr 24, 2020
@ligurio ligurio added the upgrade Functionality related to upgrade/downgrade label Apr 24, 2020
@ligurio
Copy link
Member

ligurio commented Apr 29, 2020

Found issues: tarantool/tarantool#4948, tarantool/tarantool#4946

@ligurio
Copy link
Member

ligurio commented Apr 30, 2020

Status: waiting for testing on stage

@ligurio
Copy link
Member

ligurio commented Jun 4, 2020

Upgrade scenario step-by-step:

Before upgrade:

  1. check cluster health, it should be ok before upgrade
  2. execute box.info() and check that replicas in operation mode
  3. check replication lag, it shouldn't be too high
  4. check tarantool logs for errors on each replica

Upgrade

  1. enable RPM/DEB repository for tarantool 1.10 and install tarantool package using package manager
  2. replace box.replication_source to box.replication everywhere in used Lua applications
  3. restart one of old instance v1.6 to run updated binary
  4. make sure that restarted instance is still in a cluster and it is still in operation
  5. repeat steps 3-4 for each replica in a cluster
  6. restart master instance and execute box.schema.upgrade() on it
  7. make sure cluster is healthy, there are no errors in logs and output of box.info() doesn't report any issues

After upgrade

  1. stop one-by-one instances with old tarantool versions and each time and check that cluster continue works
  2. success criteria: all instances has new tarantool version v1.10, replication lag ~= 0, no errors in logs

References:

@patiencedaur
Copy link
Contributor

@ sergepetrenko has a lot of useful notes about it, which would make an excellent Habr article.

@patiencedaur patiencedaur transferred this issue from tarantool/tarantool Jul 21, 2022
@Totktonada
Copy link
Member

BTW, https://github.com/tarantool/tarantool/wiki/Upgrade-instructions collects all such instructions. Maybe it worth to mention it somewhere in the documentation.

@patiencedaur
Copy link
Contributor

Related: #836

@patiencedaur patiencedaur added 2sp and removed upgrade Functionality related to upgrade/downgrade labels Aug 17, 2022
patiencedaur added a commit that referenced this issue Aug 26, 2022
* Add note about caveats when upgrading from 1.6 to 1.10
* Update the upgrading instructions
* Add instructions on checking status before upgrade
* Add instruction on direct upgrade from 1.6 to 2.x
* Add explicit box.schema.upgrade description to the reference
* Bring indents in accordance with the style guide

This PR adapts the following instructions from tarantool/wiki, written by Serge Petrenko:
https://github.com/tarantool/tarantool/wiki/Caveats-when-upgrading-from-tarantool-1.6
https://github.com/tarantool/tarantool/wiki/Fix-wrong-order-of-decimals-and-doubles-in-indices

Resolves #3042
Resolves #1807
Resolves #836

Co-authored-by: Serge Petrenko <[email protected]>
Co-authored-by: Evgeniy Osintsev <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants