apache / apache/incubator-pegasus
Feature: serialize time-consuming operations
- Dominant language
- C++
- Stars
- 2.1k
- Forks
- 328
- PR merge metrics
- No merged PRs in 30d
Description
## Feature Request
There are some time-consuming operations in Pegasus:
recall, balance, backup, bulk load, restore, manual compact, partition split
It will have an impact on online service while it proceeding. Especially they are running in concurrent. So we have to serialize these operations.
We can add an operation status lock for meta. Before a operation begins, acquire this lock first. And release this lock as it finish.
Contributor guide
Research direction
No files or tests are named. Start by locating the entry points for recall, balance, backup, bulk load, restore, manual compact, and partition split, then trace how metadata state is accessed. Done means concurrent time-consuming operations are serialized through a metadata operation lock without leaving the lock held after completion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100