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

The skiplist is not concurrent but could be used concurrently #195

Open
cfzjywxk opened this issue Jun 22, 2023 · 1 comment
Open

The skiplist is not concurrent but could be used concurrently #195

cfzjywxk opened this issue Jun 22, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@cfzjywxk
Copy link

The arena in skiplist does not support concurrent operations(#116), but it could be used concurrently when allow_concurrent_write is set to true.

Concurrent tests such as bench_read_write_skiplist will crash with [SIGSEGV](signal: 11, SIGSEGV: invalid memory reference) when reducing the arena capacity, for example changing the https://github.com/tikv/agatedb/blob/master/skiplist/benches/bench.rs#L47 size from 512 << 20 to 512.

Supporting the concurrent arena allocator type may be necessary.

@cfzjywxk cfzjywxk added the bug Something isn't working label Jun 22, 2023
@cfzjywxk cfzjywxk changed the title The skiplist is not concu The skiplist is not concurrent but could be used concurrently Jun 22, 2023
@Y-jiji
Copy link

Y-jiji commented Dec 9, 2023

It seems like originally you guys wanted to implement thread-local arena for the skiplist but later things went off the rail. Therefore, I suggest in lieu of making the arena concurrent-compatible, we may just utilize the thread_local crate and fulfill the original intention. And maybe I can fix it.

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

No branches or pull requests

2 participants