[Bug]: [Nightly][kafka][bitmap] Insert 3k data failed reporting Broker: Message size too large
#36029
Closed
Description
Is there an existing issue for this?
- I have searched the existing issues
Environment
- Milvus version: 11325d9
- Deployment mode(standalone or cluster):cluster
- MQ type(rocksmq, pulsar or kafka): kafka
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS):
- CPU/Memory:
- GPU:
- Others:
Current Behavior
Insert 3k data failed reporting Broker: Message size too large
.
[pytest : test] [2024-09-05 19:02:14 - ERROR - pymilvus.decorators]: RPC error: [batch_insert], <MilvusException: (code=65535, message=Broker: Message size too large)>, <Time:{'RPC start': '2024-09-05 19:02:13.345205', 'RPC error': '2024-09-05 19:02:14.055647'}> (decorators.py:140)
[pytest : test] [2024-09-05 19:02:14 - ERROR - ci_test]: Traceback (most recent call last):
[pytest : test] File "/milvus/tests/python_client/utils/api_request.py", line 32, in inner_wrapper
[pytest : test] res = func(*args, **_kwargs)
[pytest : test] File "/milvus/tests/python_client/utils/api_request.py", line 63, in api_request
[pytest : test] return func(*arg, **kwargs)
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/orm/collection.py", line 518, in insert
[pytest : test] return conn.batch_insert(
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/decorators.py", line 141, in handler
[pytest : test] raise e from e
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/decorators.py", line 137, in handler
[pytest : test] return func(*args, **kwargs)
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/decorators.py", line 176, in handler
[pytest : test] return func(self, *args, **kwargs)
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/decorators.py", line 116, in handler
[pytest : test] raise e from e
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/decorators.py", line 86, in handler
[pytest : test] return func(*args, **kwargs)
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/client/grpc_handler.py", line 582, in batch_insert
[pytest : test] raise err from err
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/client/grpc_handler.py", line 576, in batch_insert
[pytest : test] check_status(response.status)
[pytest : test] File "/usr/local/lib/python3.8/site-packages/pymilvus/client/utils.py", line 63, in check_status
[pytest : test] raise MilvusException(status.code, status.reason, status.error_code)
[pytest : test] pymilvus.exceptions.MilvusException: <MilvusException: (code=65535, message=Broker: Message size too large)>
[pytest : test] (api_request.py:45)
[pytest : test] [2024-09-05 19:02:14 - ERROR - ci_test]: (api_response) : <MilvusException: (code=65535, message=Broker: Message size too large)> (api_request.py:46)
[pytest : test] def test_bitmap_insert_after_loading(self, request, primary_field, auto_id):
[pytest : test] """
[pytest : test] target:
[pytest : test] 1. insert data after building `BITMAP` index and loading collection
[pytest : test] method:
[pytest : test] 1. build index and loaded an empty collection
[pytest : test] 2. insert 3k data
[pytest : test] 3. check no indexed data
[pytest : test] 4. flush collection, re-build index and refresh load collection
[pytest : test] 5. row number of indexed data equal to insert data
[pytest : test] expected:
[pytest : test] 1. insertion is successful
[pytest : test] 2. segment row number == inserted rows
[pytest : test] """
[pytest : test] # init params
[pytest : test] collection_name, nb = f"{request.function.__name__}_{primary_field}_{auto_id}", 3000
[pytest : test]
[pytest : test] # create a collection with fields that can build `BITMAP` index
[pytest : test] self.collection_wrap.init_collection(
[pytest : test] name=collection_name,
[pytest : test] schema=cf.set_collection_schema(
[pytest : test] fields=[primary_field, DataType.FLOAT16_VECTOR.name, *self.get_bitmap_support_dtype_names],
[pytest : test] field_params={primary_field: FieldParams(is_primary=True).to_dict},
[pytest : test] auto_id=auto_id
[pytest : test] )
[pytest : test] )
[pytest : test]
[pytest : test] # build `BITMAP` index on empty collection
[pytest : test] index_params = {
[pytest : test] **DefaultVectorIndexParams.IVF_SQ8(DataType.FLOAT16_VECTOR.name),
[pytest : test] **DefaultScalarIndexParams.list_bitmap(self.get_bitmap_support_dtype_names)
[pytest : test] }
[pytest : test] self.build_multi_index(index_params=index_params)
[pytest : test] assert sorted([n.field_name for n in self.collection_wrap.indexes]) == sorted(index_params.keys())
[pytest : test]
[pytest : test] # load collection
[pytest : test] self.collection_wrap.load()
[pytest : test]
[pytest : test] # prepare 3k data (> 1024 triggering index building)
[pytest : test] > self.collection_wrap.insert(data=cf.gen_values(self.collection_wrap.schema, nb=nb),
[pytest : test] check_task=CheckTasks.check_insert_result)
Expected Behavior
pass
Steps To Reproduce
No response
Milvus Log
- link: https://jenkins.milvus.io:18080/blue/organizations/jenkins/Milvus%20Nightly%20CI(new)/detail/master/108/pipeline/135/
- log: artifacts-milvus-distributed-kafka-mdk-master-108-py-n-108-e2e-logs.tar.gz
Anything else?
No response