baidu / baidu/bfs

ChunkServerManager,BlockMapping and block is not strong-consistent

Open
#167 1 comment 0 reactions 0 assignees View on GitHub
1pt 2pt bug
Dominant language
C++
Stars
2.8k
Forks
551
PR merge metrics
No merged PRs in 30d

Description

1. consistency problem between ChunserverManager and BlockMapping
2. ChunkServerManager和BlockMapping的一致性
之前有问题(在AddBlock是更新了后者,没更新前者,前者是在BlockReport时更新的,这就导致在report这个block前,chunkserver挂掉,那这个block不会DeadCheck被恢复,更严重的是Blockmapping却认为这个block的replica是存在的,等另一个chunkserver挂掉时,将它拿去做PullBlock的源地址了。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how AddBlock updates BlockMapping and ChunkServerManager, then compare the BlockReport, DeadCheck, and PullBlock paths described in the issue. Reproduce the failure scenario where a chunkserver stops before reporting a block, and define completion as keeping replica state consistent so recovery and source selection do not use stale information.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.