Skip to content

[Bug]: GEOMETRY and TIMESTAMPTZ can successfully create collections as subfields of a struct array, but an error occurs during insertion: Unsupported element type for Array field #44930

@zhuwenxing

Description

@zhuwenxing

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version:master-20251017-9c2aeaa2-amd64
- Deployment mode(standalone or cluster):
- MQ type(rocksmq, pulsar or kafka):    
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

[2025-10-17 14:16:38 - INFO - ci_test]: [initialize_milvus] Log cleaned up, start testing... (conftest.py:265)
[2025-10-17 14:16:38 - INFO - ci_test]: [setup_class] Start setup class... (client_base.py:40)
[2025-10-17 14:16:38 - INFO - ci_test]: *********************************** setup *********************************** (client_base.py:46)
[2025-10-17 14:16:38 - INFO - ci_test]: pymilvus version: 0.1.0rc2072 (client_base.py:47)
[2025-10-17 14:16:38 - INFO - ci_test]: [setup_method] Start setup test case test_insert_query_struct_with_all_scalar_types. (client_base.py:48)
----------------------------------------------------------------------------------- Captured log call -----------------------------------------------------------------------------------
[2025-10-17 14:16:38 - DEBUG - ci_test]: (api_request)  : [MilvusClient] args: ['http://10.104.23.245:19530', '', '', '', 'root:Milvus', None], kwargs: {} (api_request.py:52)
[2025-10-17 14:16:39 - DEBUG - ci_test]: (api_response) : <pymilvus.milvus_client.milvus_client.MilvusClient object at 0x138f16dd0>  (api_request.py:27)
[2025-10-17 14:16:39 - INFO - ci_test]: server version: 2.6.3 (client_v2_base.py:44)
[2025-10-17 14:16:39 - DEBUG - ci_test]: (api_request)  : [MilvusClient.create_collection] args: ['struct_array_all_scalars_tD9Ahcz8', None, 'id', 'int', 'vector', 'COSINE', False, 120, {'auto_id': False, 'description': '', 'fields': [{'name': 'id', 'description': '', 'type': <DataType.INT64: 5>, 'is_primary': True, 'auto_id': False}, {'name': 'normal_vector', 'description': '', 'type': <DataTy......, kwargs: {'consistency_level': 'Strong'} (api_request.py:52)
[2025-10-17 14:16:39 - DEBUG - ci_test]: (api_response) : None  (api_request.py:27)
[2025-10-17 14:16:39 - DEBUG - ci_test]: (api_request)  : [MilvusClient.insert] args: ['struct_array_all_scalars_tD9Ahcz8', [{'id': 0, 'normal_vector': [0.18508599016082228, 0.9714253517570455, 0.9241413065884942, 0.7462675674357886, 0.09390948298288793, 0.9957970683795728, 0.24968754184202324, 0.6617921884236926, 0.6150313522525015, 0.70308823845186, 0.6256162497475848, 0.3575166672......, kwargs: {'timeout': 120} (api_request.py:52)
[2025-10-17 14:16:39 - ERROR - ci_test]: Traceback (most recent call last):
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/utils/api_request.py", line 22, in inner_wrapper
    res = func(*args, **_kwargs)
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/utils/api_request.py", line 53, in api_request
    return func(*arg, **kwargs)
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/milvus_client/milvus_client.py", line 225, in insert
    raise ex from ex
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/milvus_client/milvus_client.py", line 221, in insert
    res = conn.insert_rows(
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/decorators.py", line 254, in handler
    raise e from e
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/decorators.py", line 250, in handler
    return func(*args, **kwargs)
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/decorators.py", line 297, in handler
    return func(self, *args, **kwargs)
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/decorators.py", line 195, in handler
    raise e from e
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/decorators.py", line 165, in handler
    return func(*args, **kwargs)
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/grpc_handler.py", line 558, in insert_rows
    raise ex from ex
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/grpc_handler.py", line 548, in insert_rows
    request = self._prepare_row_insert_request(
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/grpc_handler.py", line 609, in _prepare_row_insert_request
    return Prepare.row_insert_param(
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/prepare.py", line 1011, in row_insert_param
    return cls._parse_row_request(
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/prepare.py", line 755, in _parse_row_request
    Prepare._process_struct_field(
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/prepare.py", line 556, in _process_struct_field
    Prepare._process_struct_values(field_values, relevant_field_info, relevant_fields_data)
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/prepare.py", line 616, in _process_struct_values
    field_data.scalars.array_data.data.append(convert_to_array(values, field_info))
  File "/Users/zilliz/workspace/milvus-struct-array-test/tests/python_client/.venv/lib/python3.10/site-packages/pymilvus/client/entity_helper.py", line 248, in convert_to_array
    raise ParamError(
pymilvus.exceptions.ParamError: <ParamError: (code=1, message=Unsupported element type: 24 for Array field: geometry_field)>
 (api_request.py:35)
[2025-10-17 14:16:39 - ERROR - ci_test]: (api_response) : <ParamError: (code=1, message=Unsupported element type: 24 for Array field: geometry_field)> (api_request.py:36)

 milvus_client/test_milvus_client_struct_array.py::TestMilvusClientStructArrayBasic.test_insert_query_struct_with_all_scalar_types ⨯   

Expected Behavior

If GEOMETRY and TIMESTAMPTZ are not supported as subfield types, then an error should be raised in advance during the creation of the collection.

Steps To Reproduce

Milvus Log

No response

Anything else?

No response

Metadata

Metadata

Assignees

Labels

feature/struct arraykind/bugIssues or changes related a bugtriage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions