Are all AtomicOps tested in simulation?
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
It seems that not all atomicOps defined in MutationRef (https://github.com/xumengpanda/foundationdb/blob/9eeed8144e1a73b83d484b0087fb5b6c83faff9b/fdbclient/CommitTransaction.h#L56-L79) are tested in `AtomicOps.actor.cpp`.
For example, `MinV2, AndV2, CompareAndClear` are not listed in AtomicOpsWorkload opType https://github.com/xumengpanda/foundationdb/blob/9eeed8144e1a73b83d484b0087fb5b6c83faff9b/fdbserver/workloads/AtomicOps.actor.cpp#L61-L96.
If an atomicOp type is not covered in simulation test, we should probably include that in simulation test.
Contributor guide
Research direction
Start by comparing the AtomicOps entries in CommitTransaction.h with the opType choices in fdbserver/workloads/AtomicOps.actor.cpp. Inspect how AtomicOpsWorkload exercises each selected operation in simulation. Done means the missing atomic operation types, including MinV2, AndV2, and CompareAndClear, are covered by the simulation workload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems, testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100