citusdata / citusdata/citus

Remove multi-shard locks

Open
#1,578 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
12.8k
Forks
794
Avg merge
2d 14h
Merged PRs (30d)
31

Description

We currently take `ShareUpdateExclusiveLock`s on all shards involved in a multi-shard command (DDL, `INSERT ... SELECT`, `master_modify_multiple_shards`, multi-row INSERT), which prevents concurrent multi-shard commands on the same shards in order to avoid distributed deadlocks. We could now instead rely on distributed deadlock detection and allow a greater degree of concurrency.

Removing the multi-shard locks also allows us to run multi-shard commands (except DDL) from workers in MX.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.