apple / apple/foundationdb

Are all AtomicOps tested in simulation?

Open
#3,762 0 comments 0 reactions 0 assignees View on GitHub
testing
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.