476968e2c8
Concurrent access to the same query module had a race condition on the pointer that was used to handle the custom memory management. With this commit, a mapping has been added to keep information about what thread used the pointer to handle the memory resources. This should be fine since the respected query executions are running on a dedicated thread. Access to the mapping itself is threadsafe. A simple RAII wrapper for the mapping container has also been added for simpler client-side use.
34 lines
933 B
YAML
34 lines
933 B
YAML
args: &args
|
|
- "--bolt-port"
|
|
- "7687"
|
|
- "--log-level"
|
|
- "TRACE"
|
|
|
|
in_memory_cluster: &in_memory_cluster
|
|
cluster:
|
|
main:
|
|
args: *args
|
|
log_file: "concurrent-query-modules-e2e.log"
|
|
setup_queries: []
|
|
validation_queries: []
|
|
|
|
disk_cluster: &disk_cluster
|
|
cluster:
|
|
main:
|
|
args: *args
|
|
log_file: "concurrent-query-modules-e2e.log"
|
|
setup_queries: ["STORAGE MODE ON_DISK_TRANSACTIONAL"]
|
|
validation_queries: []
|
|
|
|
workloads:
|
|
- name: "Concurrent query modules"
|
|
binary: "tests/e2e/pytest_runner.sh"
|
|
proc: "tests/e2e/concurrent_query_modules/test_query_modules/"
|
|
args: ["concurrent_query_modules/con_query_modules.py"]
|
|
<<: *in_memory_cluster
|
|
- name: "Disk concurrent query modules"
|
|
binary: "tests/e2e/pytest_runner.sh"
|
|
proc: "tests/e2e/concurrent_query_modules/test_query_modules/"
|
|
args: ["concurrent_query_modules/con_query_modules.py"]
|
|
<<: *disk_cluster
|