diff --git a/pymilvus/client/grpc_handler.py b/pymilvus/client/grpc_handler.py index 56143a7df..258711125 100644 --- a/pymilvus/client/grpc_handler.py +++ b/pymilvus/client/grpc_handler.py @@ -1652,12 +1652,13 @@ def compact( timeout: Optional[float] = None, **kwargs, ) -> int: + # should be removed, but to be compatible with old milvus server, keep it for now. request = Prepare.describe_collection_request(collection_name) rf = self._stub.DescribeCollection.future(request, timeout=timeout) response = rf.result() check_status(response.status) - req = Prepare.manual_compaction(response.collectionID, is_clustering) + req = Prepare.manual_compaction(response.collectionID, collection_name, is_clustering) future = self._stub.ManualCompaction.future(req, timeout=timeout) response = future.result() check_status(response.status) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index 4b1842dee..586d7e5ae 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -1330,7 +1330,7 @@ def load_balance_request( ) @classmethod - def manual_compaction(cls, collection_id: int, is_clustering: bool): + def manual_compaction(cls, collection_id: int, collection_name: str, is_clustering: bool): if collection_id is None or not isinstance(collection_id, int): raise ParamError(message=f"collection_id value {collection_id} is illegal") @@ -1339,6 +1339,7 @@ def manual_compaction(cls, collection_id: int, is_clustering: bool): request = milvus_types.ManualCompactionRequest() request.collectionID = collection_id + request.collection_name = collection_name request.majorCompaction = is_clustering return request