Skip to content
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

Migration generates timestamps that are too high for inactive tables #4668

Closed
danielmewes opened this issue Aug 11, 2015 · 3 comments
Closed
Assignees
Milestone

Comments

@danielmewes
Copy link
Member

The timestamp is set to 9223372036854775808.
The effect this has is that if you add a new replica to a table after migration, that replica will never come up because its timestamp is always going to be higher than any other timestamp.

There might be a second problem here that inactive tables do not synchronize their states correctly.

Once this is fixed, we're going to ship a 2.1.1 point release asap.

@danielmewes danielmewes added this to the 2.1.x milestone Aug 11, 2015
@Tryneus
Copy link
Member

Tryneus commented Aug 12, 2015

Workaround for the invalid timestamp is up in review 3146. We still need to handle the case of an inactive replica having a higher timestamp than all active replicas in the cluster. Also, we should create an issue to remove the workaround (and rewrite all invalid timestamps in the metadata) in v2.2.x.

@Tryneus
Copy link
Member

Tryneus commented Aug 12, 2015

The workaround for the invalid timestamp has been approved and merged into next in commit 1b1efa9, and cherry-picked into v2.1.x in commit bd785e8. Will be in release 2.1.1.

@danielmewes danielmewes modified the milestones: 2.1.x, 2.1.1 Aug 12, 2015
danielmewes added a commit that referenced this issue Aug 12, 2015
danielmewes added a commit that referenced this issue Aug 12, 2015
@danielmewes
Copy link
Member Author

A second work-around to handle the case of an inactive server having a higher timestamp is now in next 678f880 and in v2.1.x df27878. The code review for this was 3148.

This solution is temporary as well, but a cleaner solution is considerably more work and needs additional though. We will probably replace that code by a different logic in 2.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants