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

bucket_send() and bucket_recv() should check rebalancer_transfering_buckets before touching it #434

Closed
Gerold103 opened this issue Aug 23, 2023 · 0 comments
Assignees
Labels
bug Something isn't working storage
Milestone

Comments

@Gerold103
Copy link
Collaborator

bucket_send(bid) sets M.rebalancer_transfering_buckets[bid] = true without checking if it was already true.

  1. Need to check it and fail immediately if the bucket is in transfer already.
  2. See if the current behaviour can lead to any bugs. Cover them with tests.

Same with bucket_recv().

@Gerold103 Gerold103 added bug Something isn't working storage labels Aug 23, 2023
@Gerold103 Gerold103 added this to the 0.2 milestone Aug 23, 2023
@Gerold103 Gerold103 self-assigned this Oct 30, 2023
Gerold103 added a commit that referenced this issue Oct 30, 2023
If more than one bucket_send/recv would try to start on the same
bucket on the same storage, it could lead to the bucket recovery
or GC when there would be no need for it. Data couldn't be lost,
and it wouldn't occur during automatic rebalancing, but manual
usage of those functions could fail when it shouldn't have.

Closes #434
Gerold103 added a commit that referenced this issue Oct 30, 2023
If more than one bucket_send/recv would try to start on the same
bucket on the same storage, it could lead to the bucket recovery
or GC when there would be no need for it. Data couldn't be lost,
and it wouldn't occur during automatic rebalancing, but manual
usage of those functions could fail when it shouldn't have.

Closes #434
Gerold103 added a commit that referenced this issue Oct 31, 2023
If more than one bucket_send/recv would try to start on the same
bucket on the same storage, it could lead to the bucket recovery
or GC when there would be no need for it. Data couldn't be lost,
and it wouldn't occur during automatic rebalancing, but manual
usage of those functions could fail when it shouldn't have.

Closes #434

NO_DOC=bugfix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working storage
Projects
None yet
Development

No branches or pull requests

1 participant