# GetCompactionState() This operation gets the status of a compaction job. ```cpp Status GetCompactionState(const GetCompactionStateRequest& request, GetCompactionStateResponse& response) ``` ## Request Syntax ```cpp auto request = GetCompactionStateRequest() .WithCompactionID(id); ``` **REQUEST METHODS:** - `WithCompactionID(int64_t id)` Sets the compaction job ID returned by `Compact()`. **RETURNS:** *Status* with *GetCompactionStateResponse* Check `status.IsOk()` to confirm success. **EXCEPTIONS:** - **StatusCode** Check `status.Code()` and `status.Message()` for error details. ## Example ```cpp #include "milvus/MilvusClientV2.h" auto client = milvus::MilvusClientV2::Create(); milvus::ConnectParam connect_param{"http://localhost:19530", "root:Milvus"}; auto status = client->Connect(connect_param); if (!status.IsOk()) { std::cout << status.Message() << std::endl; } int64_t compaction_id = 12345; // obtained from Compact() milvus::GetCompactionStateResponse response; status = client->GetCompactionState( milvus::GetCompactionStateRequest() .WithCompactionID(compaction_id), response); if (!status.IsOk()) { std::cout << status.Message() << std::endl; } std::cout << "State: " << static_cast(response.State()) << std::endl; ```