apache / apache/incubator-pegasus

Feature: serialize time-consuming operations

Open
#845 0 comments 0 reactions 0 assignees View on GitHub
type/enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.