getPersistentSegmentInfo()
A MilvusClient interface. This method gets the information of persistent segments from data node, including row count, persistence state (growing or flushed), and more.
R<GetPersistentSegmentInfoResponse> getPersistentSegmentInfo(GetPersistentSegmentInfoParam requestParam);
GetPersistentSegmentInfoParam
Use the GetPersistentSegmentInfoParam.Builder to construct a GetPersistentSegmentInfoParam object.
import io.milvus.param.GetPersistentSegmentInfoParam;
GetPersistentSegmentInfoParam.Builder builder = GetPersistentSegmentInfoParam.newBuilder();
Methods of GetPersistentSegmentInfoParam.Builder:
Method | Description | Parameters |
|---|---|---|
withCollectionName(String collectionName) | Sets the collection name. Collection name cannot be empty or null. | collectionName: The name of the collection. |
build() | Constructs a GetPersistentSegmentInfoParam object. | N/A |
The GetPersistentSegmentInfoParam.Builder.build() can throw the following exceptions:
- ParamException: error if the parameter is invalid.
Returns
This method catches all the exceptions and returns an R<GetPersistentSegmentInfoResponse> object.
-
If the API fails on the server side, it returns the error code and message from the server.
-
If the API fails by RPC exception, it returns
R.Status.Unknownand the error message of the exception. -
If the API succeeds, it returns a valid
GetPersistentSegmentInfoResponseheld by theRtemplate. TheGetPersistentSegmentInfoResponseobject contains a list ofPersistentSegmentInfo, and you can usePersistentSegmentInfo.getState()to get the state of the segment.
SegmentState
package io.milvus.grpc;
public enum SegmentState
Type | Code | Description |
|---|---|---|
SegmentStateNone | 0 | For internal usage. |
NotExist | 1 | For internal usage. |
Growing | 2 | A growing segment in query node. |
Sealed | 3 | The segment is sealed and waiting to be flushed. |
Flushed | 4 | The segment has been flushed to storage. |
Flushing | 5 | The server is flushing this segment. |
Dropped | 6 | The segment has been marked as deleted. |
Importing | 7 | Reserved for bulkinsert interface. |
Example
import io.milvus.param.*;
import io.milvus.grpc.GetPersistentSegmentInfoResponse;
import io.milvus.grpc.PersistentSegmentInfo;
GetPersistentSegmentInfoParam param = GetPersistentSegmentInfoParam.newBuilder()
.withCollectionName(COLLECTION_NAME)
.build();
R<GetPersistentSegmentInfoResponse> response = client.getPersistentSegmentInfo(param);
if (response.getStatus() != R.Status.Success.getCode()) {
System.out.println(response.getMessage());
}
GetPersistentSegmentInfoResponse segmentInfo = response.getData();
for (int i = 0; i < segmentInfo.getInfosCount(); i++) {
PersistentSegmentInfo info = segmentInfo.getInfos(i);
System.out.println("Segment ID: " + info.getSegmentID() + ", state: " + info.getState() + ", rows: " + info.getNumRows());
}