matrixorigin / matrixorigin/matrixone

[Feature Request]: optimize downtime when restart lock-service

Open
#17,061 0 comments 0 reactions 1 assignee Claimed by @iamlinjunhong View on GitHub
kind/feature priority/p0
Dominant language
Go
Stars
1.9k
Forks
311
Avg merge
1d 3h
Merged PRs (30d)
768

Description

### Is there an existing issue for the same feature request?

- [X] I have checked the existing issues.

### Is your feature request related to a problem?

Lock-service restart happens before we offline or restart a CN server to avoid aborting txns. Given that the lock-service restart happened at T0 on CN0, all txns with `ts <= T0` can operate the lock-tables on CN0. If a txn with `ts > T0` try to lock one of the lock-tables on CN0, it have to wait all previous locks are unlocked on this locak-table **AND** the lock-table is migrated to another CN server.

As a result, if there is a long running txn blocks lock-table migration, other txns have to wait even if the locks have no conflict with the long running txn (e.g. lock other rows).

ref: https://github.com/matrixorigin/MO-Cloud/issues/3538

### Describe the feature you'd like

Optimize the downtime when restarting lock-service.

### Describe implementation you've considered

@zhangxu19830126 @iamlinjunhong please kindly evaluate

### Documentation, Adoption, Use Case, Migration Strategy

_No response_

### Additional information

_No response_

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.