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

Fixed issues with data distribution when configuring from usable_regions=2 to usable_regions=1 #721

Merged
merged 7 commits into from Aug 22, 2018

Conversation

Projects
None yet
2 participants
@etschannen
Copy link
Contributor

etschannen commented Aug 22, 2018

No description provided.

etschannen added some commits Aug 22, 2018

fix: teams larger than the storageTeamSize can never become healthy, …
…so we do not need to track them in our data structures. After configuring from usable_regions=2 to usable_regions=1 we will have a lot of these types of teams, leading to performance issues
Added the ability to disable all commits which do not modify the syst…
…em keys by setting \xff/onlySystem = 1 in the database

@etschannen etschannen requested a review from ajbeamon Aug 22, 2018

@etschannen

This comment has been minimized.

Copy link
Contributor

etschannen commented Aug 22, 2018

I tested \xff/onlySystem in a local cluster, currently no correctness tests use it.

bool foundSystem = false;
for(auto& m : trs[t].transaction.mutations) {
if( ( m.type == MutationRef::ClearRange ? m.param2 : m.param1 ) >= nonMetadataSystemKeys.end) {
foundSystem = true;

This comment has been minimized.

@ajbeamon

ajbeamon Aug 22, 2018

Contributor

Does this allow a transaction that modifies non-system keys if it also modifies system keys?

This comment has been minimized.

@etschannen

etschannen Aug 22, 2018

Contributor

yes, I figured that was the safer approach

This comment has been minimized.

@etschannen

etschannen Aug 22, 2018

Contributor

the only candidate transactions that fit into the mixed category are probably ones that lock the database

This comment has been minimized.

@ajbeamon

ajbeamon Aug 22, 2018

Contributor

I think this is potentially confusing, as the name of the key could lead someone to believe that writes outside the system keys are not possible, but as a feature that may be a reasonable choice.

@ajbeamon ajbeamon merged commit 0b8d5cb into apple:release-6.0 Aug 22, 2018

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