Skip to content

Conversation

@Bouncheck
Copy link

@Bouncheck Bouncheck commented Nov 7, 2024

Each table now has a dedicated lock for its set of tablets.
Multiple sets can be modified concurrently. Most importantly without
copying the whole set.
Should improve times, mostly in cases of large amount of tablets and
reduce number of misses during tablet shuffling.

@Bouncheck Bouncheck force-pushed the scylla-3.x-tablets-bugfix branch 2 times, most recently from 57d62ca to 3c2f36a Compare November 8, 2024 17:09
Each table now has a dedicated lock for its set of tablets.
Multiple sets can be modified concurrently. Most importantly without
copying the whole set.
Should improve times, mostly in cases of large amount of tablets and
reduce number of misses during tablet shuffling.
@Bouncheck Bouncheck force-pushed the scylla-3.x-tablets-bugfix branch from 3c2f36a to 97c37ab Compare November 8, 2024 17:11
@Bouncheck Bouncheck changed the title WIP tablets fix 3.x: Add ReadWriteLock for each table's tablet set Nov 8, 2024
@Bouncheck
Copy link
Author

I was hoping that previous implementation was causing the imbalance after adding nodes but testing seems to indicate that this change had no impact on that.
Still, I think there's no reason not to merge this anyway.

@Bouncheck Bouncheck marked this pull request as ready for review November 8, 2024 17:16
@Bouncheck Bouncheck requested a review from dkropachev November 8, 2024 17:18
@Bouncheck Bouncheck self-assigned this Nov 8, 2024
@dkropachev
Copy link

I was hoping that previous implementation was causing the imbalance after adding nodes but testing seems to indicate that this change had no impact on that. Still, I think there's no reason not to merge this anyway.

Pervios implementation caused parallel read/write conflicts, you are right, let's merge it.

@Bouncheck Bouncheck merged commit 31a7a72 into scylladb:scylla-3.x Nov 9, 2024
11 of 12 checks passed
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 this pull request may close these issues.

2 participants