baidu / baidu/tera

bug in atomic counter: read multi-versions data

Open
#886 0 comments 0 reactions 0 assignees View on GitHub
class/bug module/ts stat/will-see-later
Dominant language
C++
Stars
1.9k
Forks
432
PR merge metrics
No merged PRs in 30d

Description

某一次commit把原子计数器改坏了:
RowReader读时`SetMaxVersions()`设置多个版本,会读出原子计数器的多个内部版本。预期原子计数器只返回当前值。

例如:时间从t0 -> t2

```
t0:Add 3

t1:Put 5

t2:Add 8
```

预期:不论怎么设置,读出 13
现在:SetMaxVersions(2),读出13和3

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing RowReader's handling of SetMaxVersions() for atomic-counter reads and inspect how internal versions are exposed. Reproduce the t0 Add 3, t1 Put 5, t2 Add 8 sequence with multiple version limits. Done means the reader returns only the current value, 13, regardless of the requested maximum versions.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.