ArcticDB
ArcticDB copied to clipboard
test_diff_long_stream_descriptor_mismatch test fails on MacOS
Describe the bug
The above test fails on MacOS:
=================================== FAILURES ===================================
__ test_diff_long_stream_descriptor_mismatch[EncodingVersion.V2-1001-update] ___
lmdb_version_store = NativeVersionStore: Library: local.test_451_2023-08-04T20_15_18_437949_v2, Primary Storage: lmdb_storage.
method = 'update', num = 1001
@pytest.mark.parametrize("method", ("append", "update"))
@pytest.mark.parametrize("num", (5, 50, 1001))
def test_diff_long_stream_descriptor_mismatch(lmdb_version_store, method, num):
lib: NativeVersionStore = lmdb_version_store
> lib.write("x", pd.DataFrame({f"col{i}": [i, i + 1, i + 2] for i in range(num)}, index=pd.date_range(0, periods=3)))
...
...
> vit = self.version_store.write_versioned_dataframe(
symbol, item, norm_meta, udm, prune_previous_version, sparsify_floats, validate_index
)
E arcticdb_ext.storage.DuplicateKeyException: d:x:0:0x7cb66142cd44245c@1691180118529384000[0,172800000000001]
Steps/Code to Reproduce
Run the test
Expected Results
Passes
OS, Python Version and ArcticDB Version
MacOS
Backend storage used
No response
Additional Context
No response
This is perhaps another timestamp-related bug. You can see the last three digits of the timestamp is 000, which is due to the low-precision clock we use for MacOS.
If the content (hash) happens to be identical between two slices of the same row set, then the key generated will be identical.
Related: A different MacOS test failure #673
We're going to lower the priority of this and mark the Mac build as beta, until there is customer demand for it. The test is xfailed.