Skip to content

Fix race condition in BinPackingNodeAllocator#12048

Merged
arhimondr merged 1 commit intotrinodb:masterfrom
losipiuk:lo/fix-race-in-bin-packing-allocator
Apr 20, 2022
Merged

Fix race condition in BinPackingNodeAllocator#12048
arhimondr merged 1 commit intotrinodb:masterfrom
losipiuk:lo/fix-race-in-bin-packing-allocator

Conversation

@losipiuk
Copy link
Member

Fix race condition in BinPackingNodeAllocator where
BinPackingNodeLease.release() could subtract from entry in
allocatedMemory map before processPendingAcquires added to this entry.

With changed allocation/deallocation protocol it is no longer possible.

Is this change a fix, improvement, new feature, refactoring, or other?

fix

Is this a change to the core query engine, a connector, client library, or the SPI interfaces? (be specific)

core engine

Related issues, pull requests, and links

fixes #11876

Documentation

(x) No documentation is needed.
( ) Sufficient documentation is included in this PR.
( ) Documentation PR is available with #prnumber.
( ) Documentation issue #issuenumber is filed, and can be handled later.

Release notes

(x) No release notes entries required.
( ) Release notes entries required with the following suggested text:

Fix race condition in BinPackingNodeAllocator where
BinPackingNodeLease.release() could subtract from entry in
allocatedMemory map before processPendingAcquires added to this entry.

With changed allocation/deallocation protocol it is no longer possible.
@losipiuk losipiuk force-pushed the lo/fix-race-in-bin-packing-allocator branch from 5836171 to bb5faf1 Compare April 20, 2022 12:13
@arhimondr arhimondr merged commit 8ae501a into trinodb:master Apr 20, 2022
@github-actions github-actions bot added this to the 378 milestone Apr 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

TestDistributedFaultTolerantEngineOnlyQueries: tried to release more than allocated

3 participants