[fix] shared production_status tensor across data partitions#127
Conversation
Create a fresh production_status tensor for each DataPartitionStatus instance.
CLA Signature Guide@zTonyZhao , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
CLA Signature Guide@zTonyZhao , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
1 similar comment
CLA Signature Guide@zTonyZhao , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
/check-cla |
CLA Signature Guide@zTonyZhao , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
|
Thank you for your contribution! Please:
|
|
/check-cla |
CLA Signature Guide@zTonyZhao , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
1 similar comment
CLA Signature Guide@zTonyZhao , thanks for your pull request. The following commit(s) are not associated with a signed Contributor License Agreement (CLA).
To sign CLA, click here. To check if your email is configured correctly, refer to the FAQs. Once you've signed the CLA or updating your email, please comment |
7f78de6 to
298a0fb
Compare
CLA Signature PasszTonyZhao, thanks for your pull request. All authors of the commits have signed the CLA. 👍 |
|
Please use |
Create a fresh production_status tensor for each DataPartitionStatus instance.
Root Cause
production_statuswas initialized as a tensor dataclass default. That tensor was created at class definition time and could be shared by multipleDataPartitionStatusinstances. When one partition reused a released global index and marked it ready, another cleared partition could observe the same ready bit.Impact
A cleared partition could incorrectly return stale ready metadata. In the KV path, because storage keys are generated as
global_index@field, this could cause reads from one partition to include data written by another partition.PoC
Tests
python -m pytest tests/test_controller_data_partitions.py -qpython -m pytest tests/e2e/test_kv_interface_e2e.py::TestKVClearE2E::test_kv_clear_does_not_leak_reused_index_across_partitions -q