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

pending memtable should be updated with the current mutable cf option… #73

Conversation

ayulas
Copy link
Contributor

@ayulas ayulas commented Jul 27, 2022

pending memtable should be updated with the current mutable cf options during activation

@ayulas ayulas requested a review from isaac-io July 27, 2022 07:30
@ayulas ayulas force-pushed the 69-db_test-assertion-changing-dynamically-write-buffer-size-not-aligned-with-pending-memtable-creation branch from dfd77c9 to 8d578eb Compare July 27, 2022 07:32
db/memtable.cc Outdated Show resolved Hide resolved
db/memtable.cc Outdated Show resolved Hide resolved
db/memtable.cc Outdated Show resolved Hide resolved
db/memtable.cc Outdated Show resolved Hide resolved
db/memtable.cc Outdated Show resolved Hide resolved
db/memtable.h Show resolved Hide resolved
@isaac-io
Copy link
Contributor

Only now realising that the activation mechanism is not working correctly. We cannot change arena parameters after memtable rep construction (because the memtable rep constructor may use the arena to allocate memory). Memtable rep construction happens in the MemTable constructor member initialisation list, regardless of activation.

@ayulas
Copy link
Contributor Author

ayulas commented Jul 27, 2022

Only now realising that the activation mechanism is not working correctly. We cannot change arena parameters after memtable rep construction (because the memtable rep constructor may use the arena to allocate memory). Memtable rep construction happens in the MemTable constructor member initialisation list, regardless of activation.

this what i wrote. that the arena on all the memtable rep is used only for memtable ios and what the insert incolve with (iterator etc) in the constructor it is not used. not for bucket and not for other things

@ayulas
Copy link
Contributor Author

ayulas commented Jul 28, 2022

Only now realising that the activation mechanism is not working correctly. We cannot change arena parameters after memtable rep construction (because the memtable rep constructor may use the arena to allocate memory). Memtable rep construction happens in the MemTable constructor member initialisation list, regardless of activation.

this what i wrote. that the arena on all the memtable rep is used only for memtable ios and what the insert incolve with (iterator etc) in the constructor it is not used. not for bucket and not for other things

done what we agreed

@isaac-io isaac-io linked an issue Jul 28, 2022 that may be closed by this pull request
@isaac-io
Copy link
Contributor

Unfortunately I missed another place where memory is allocated from the arena on memtable construction: the range_del_table_ member of MemTable is always created with a skiplist memtable :(

We might need to instead create a pool of actual memtables representations (not the MemTable type) and pull from there on memtable switch.

@isaac-io isaac-io closed this Aug 16, 2022
@isaac-io isaac-io deleted the 69-db_test-assertion-changing-dynamically-write-buffer-size-not-aligned-with-pending-memtable-creation branch August 29, 2022 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants