Skip to content

Commit

Permalink
Rename is_major to is_clustering
Browse files Browse the repository at this point in the history
Signed-off-by: wayblink <[email protected]>
  • Loading branch information
wayblink committed Aug 8, 2024
1 parent 66c2362 commit fde6ebe
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 26 deletions.
4 changes: 2 additions & 2 deletions pymilvus/client/grpc_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -1549,15 +1549,15 @@ def compact(
self,
collection_name: str,
timeout: Optional[float] = None,
is_major: Optional[bool] = False,
is_clustering: Optional[bool] = False,
**kwargs,
) -> int:
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_major)
req = Prepare.manual_compaction(response.collectionID, is_clustering)
future = self._stub.ManualCompaction.future(req, timeout=timeout)
response = future.result()
check_status(response.status)
Expand Down
4 changes: 2 additions & 2 deletions pymilvus/client/prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -995,13 +995,13 @@ def load_balance_request(
)

@classmethod
def manual_compaction(cls, collection_id: int, is_major: bool):
def manual_compaction(cls, collection_id: int, 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")

request = milvus_types.ManualCompactionRequest()
request.collectionID = collection_id
request.majorCompaction = is_major
request.majorCompaction = is_clustering

return request

Expand Down
18 changes: 10 additions & 8 deletions pymilvus/client/stub.py
Original file line number Diff line number Diff line change
Expand Up @@ -1044,7 +1044,7 @@ def load_balance(
**kwargs,
)

def compact(self, collection_name, timeout=None, is_major=False, **kwargs) -> int:
def compact(self, collection_name, timeout=None, is_clustering=False, **kwargs) -> int:
"""
Do compaction for the collection.
Expand All @@ -1054,19 +1054,21 @@ def compact(self, collection_name, timeout=None, is_major=False, **kwargs) -> in
:param timeout: The timeout for this method, unit: second
:type timeout: int
:param is_major: trigger major compaction
:type is_major: bool
:param is_clustering: trigger clustering compaction
:type is_clustering: bool
:return: the compaction ID
:rtype: int
:raises MilvusException: If collection name not exist.
"""
with self._connection() as handler:
return handler.compact(collection_name, timeout=timeout, is_major=is_major, **kwargs)
return handler.compact(
collection_name, timeout=timeout, is_clustering=is_clustering, **kwargs
)

def get_compaction_state(
self, compaction_id: int, timeout=None, is_major=False, **kwargs
self, compaction_id: int, timeout=None, is_clustering=False, **kwargs
) -> CompactionState:
"""
Get compaction states of a targeted compaction id
Expand All @@ -1077,8 +1079,8 @@ def get_compaction_state(
:param timeout: The timeout for this method, unit: second
:type timeout: int
:param is_major: get major compaction
:type is_major: bool
:param is_clustering: get clustering compaction
:type is_clustering: bool
:return: the state of the compaction
:rtype: CompactionState
Expand All @@ -1088,7 +1090,7 @@ def get_compaction_state(

with self._connection() as handler:
return handler.get_compaction_state(
compaction_id, timeout=timeout, is_major=is_major, **kwargs
compaction_id, timeout=timeout, is_clustering=is_clustering, **kwargs
)

def wait_for_compaction_completed(
Expand Down
32 changes: 18 additions & 14 deletions pymilvus/orm/collection.py
Original file line number Diff line number Diff line change
Expand Up @@ -1487,31 +1487,33 @@ def drop_index(self, timeout: Optional[float] = None, **kwargs):
**copy_kwargs,
)

def compact(self, timeout: Optional[float] = None, is_major: Optional[bool] = False, **kwargs):
def compact(
self, timeout: Optional[float] = None, is_clustering: Optional[bool] = False, **kwargs
):
"""Compact merge the small segments in a collection
Args:
timeout (``float``, optional): An optional duration of time in seconds to allow
for the RPC. When timeout is set to None, client waits until server response
or error occur.
is_major (``bool``, optional): An optional setting to trigger major compaction.
is_clustering (``bool``, optional): Option to trigger clustering compaction.
Raises:
MilvusException: If anything goes wrong.
"""
conn = self._get_connection()
if is_major:
self.major_compaction_id = conn.compact(
self._name, timeout=timeout, is_major=is_major, **kwargs
if is_clustering:
self.clustering_compaction_id = conn.compact(
self._name, timeout=timeout, is_clustering=is_clustering, **kwargs
)
else:
self.compaction_id = conn.compact(
self._name, timeout=timeout, is_major=is_major, **kwargs
self._name, timeout=timeout, is_clustering=is_clustering, **kwargs
)

def get_compaction_state(
self, timeout: Optional[float] = None, is_major: Optional[bool] = False, **kwargs
self, timeout: Optional[float] = None, is_clustering: Optional[bool] = False, **kwargs
) -> CompactionState:
"""Get the current compaction state
Expand All @@ -1520,20 +1522,22 @@ def get_compaction_state(
for the RPC. When timeout is set to None, client waits until server response
or error occur.
is_major (``bool``, optional): An optional setting to get major compaction state.
is_clustering (``bool``, optional): Option to get clustering compaction state.
Raises:
MilvusException: If anything goes wrong.
"""
conn = self._get_connection()
if is_major:
return conn.get_compaction_state(self.major_compaction_id, timeout=timeout, **kwargs)
if is_clustering:
return conn.get_compaction_state(
self.clustering_compaction_id, timeout=timeout, **kwargs
)
return conn.get_compaction_state(self.compaction_id, timeout=timeout, **kwargs)

def wait_for_compaction_completed(
self,
timeout: Optional[float] = None,
is_major: Optional[bool] = False,
is_clustering: Optional[bool] = False,
**kwargs,
) -> CompactionState:
"""Block until the current collection's compaction completed
Expand All @@ -1543,15 +1547,15 @@ def wait_for_compaction_completed(
for the RPC. When timeout is set to None, client waits until server response
or error occur.
is_major (``bool``, optional): An optional setting to get major compaction state.
is_clustering (``bool``, optional): Option to get clustering compaction state.
Raises:
MilvusException: If anything goes wrong.
"""
conn = self._get_connection()
if is_major:
if is_clustering:
return conn.wait_for_compaction_completed(
self.major_compaction_id, timeout=timeout, **kwargs
self.clustering_compaction_id, timeout=timeout, **kwargs
)
return conn.wait_for_compaction_completed(self.compaction_id, timeout=timeout, **kwargs)

Expand Down

0 comments on commit fde6ebe

Please sign in to comment.