How do tikv-server and tidb-server perform data correctness testing?

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: tikv-server tidb-server是怎么做的数据正确性测试

| username: HappyUncle

As mentioned, building a distributed database requires a lot of work in terms of data stability and correctness. I want to know specifically how this is done. Does anyone have any information on this?

You can see some unit tests and integration test cases in the tikv repository, tidb repository, and rocksdb repository. Where are the test cases for the data correctness of the entire tidb cluster?

| username: HappyUncle | Original post link

I found three articles, but they do not discuss specific work.

| username: TI表弟 | Original post link

Cluster data correctness? What do you mean by correctness? Data can be queried after being written? Transactions, MVCC? It involves various aspects.

| username: ealam_小羽 | Original post link

Is this the correctness you are referring to?

| username: HappyUncle | Original post link

I just want to ask how these aspects are done and understand how such a systematic project is managed.

For a database product, it definitely needs to construct various scenarios such as transaction conflicts, transaction isolation, transaction rollback, etc. After simulating these scenarios, it then verifies whether the data stored in the database meets the expectations.

| username: HappyUncle | Original post link

It’s not about data correctness across services or systems.

What I want to understand is the correctness of the database itself. You can think of it as how ACID at the database level is verified.

| username: ShawnYan | Original post link

Check out Chaos Mesh.

| username: HappyUncle | Original post link

This is the information I wanted. Thank you.

| username: system | Original post link

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.