Closed NicoYuan1986 closed 4 weeks ago
How fast does the flush happend. My guess it this might be due to there a lot of segment and compaction is blocked. I think e2e is better not to be designed with performance issues
this is not a performance test, it just expects to complete a compaction task and verify the results /assign @XuanYang-cn /unassign
reproduce. failed cases:
[2024-06-25T22:22:36.995Z] FAILED testcases/test_compaction.py::TestCompactionOperation::test_compact_after_binary_index - pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=Handoff after compact and index cost more than 180s)>
[2024-06-25T22:22:36.995Z] FAILED testcases/test_compaction.py::TestCompactionOperation::test_compact_merge_multi_segments - pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=Compact merge multiple segments more than 180s)>
[2024-06-25T22:22:36.995Z] FAILED testcases/test_compaction.py::TestCompactionOperation::test_compact_during_insert - pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=Waiting more than 240s for the new segment indexed)>
[2024-06-25T22:22:36.995Z] FAILED testcases/test_compaction.py::TestCompactionOperation::test_compact_merge_two_segments - pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=Compact merge two segments more than 180s)>
[2024-06-25T22:22:36.995Z] FAILED testcases/test_query.py::TestQueryCount::test_count_compact_merge - assert 2 == 1
[2024-06-25T22:22:36.996Z] + where 2 = len([segmentID: 450716539565349536\ncollectionID: 450716539565349525\npartitionID: 450716539565349526\nnum_rows: 100\nstate: Sealed\nnodeIds: 3\n, segmentID: 450716539565349700\ncollectionID: 450716539565349525\npartitionID: 450716539565349526\nnum_rows: 100\nstate: Sealed\nnodeIds: 9\n])
take the case test_compact_during_insert
for example:
[2024-06-25T22:22:36.962Z] # waitting for new segment index and compact
[2024-06-25T22:22:36.962Z] index_cost = 240
[2024-06-25T22:22:36.962Z] start = time()
[2024-06-25T22:22:36.962Z] while True:
[2024-06-25T22:22:36.962Z] sleep(10)
[2024-06-25T22:22:36.962Z] collection_w.load()
[2024-06-25T22:22:36.962Z] # new segment compacted
[2024-06-25T22:22:36.962Z] seg_info = self.utility_wrap.get_query_segment_info(collection_w.name)[0]
[2024-06-25T22:22:36.962Z] if len(seg_info) == 2:
[2024-06-25T22:22:36.962Z] break
[2024-06-25T22:22:36.962Z] end = time()
[2024-06-25T22:22:36.962Z] collection_w.release()
[2024-06-25T22:22:36.963Z] if end - start > index_cost:
[2024-06-25T22:22:36.963Z] > raise MilvusException(1, f"Waiting more than {index_cost}s for the new segment indexed")
[2024-06-25T22:22:36.963Z] E pymilvus.exceptions.MilvusException: <MilvusException: (code=1, message=Waiting more than 240s for the new segment indexed)>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Rotten issues close after 30d of inactivity. Reopen the issue with /reopen
.
Is there an existing issue for this?
Environment
Current Behavior
Milvus cluster compaction frequently failed for timeout.
Expected Behavior
compact successfully
Steps To Reproduce
Milvus Log
Anything else?
No response