diff options
| author | danilalexeev <[email protected]> | 2025-01-22 18:02:16 +0300 |
|---|---|---|
| committer | danilalexeev <[email protected]> | 2025-01-22 18:22:11 +0300 |
| commit | 45a4df69199261678034e345d9ae7a93aa08d383 (patch) | |
| tree | 21ba97025a126aed83a1e1b7f4d3dbbeacc8f627 | |
| parent | fc450d0b4461cf0d0c4069b384f0efcf6d4541a5 (diff) | |
YT-23070: Implement the CollectCoverage command in native protocol
commit_hash:11b0dd0c7b2d16e3377353018a4d70ef317064c9
| -rw-r--r-- | yt/yt/client/api/admin_client.h | 13 | ||||
| -rw-r--r-- | yt/yt/client/api/delegating_client.h | 5 | ||||
| -rw-r--r-- | yt/yt/client/api/rpc_proxy/client_impl.cpp | 7 | ||||
| -rw-r--r-- | yt/yt/client/api/rpc_proxy/client_impl.h | 4 | ||||
| -rw-r--r-- | yt/yt/client/federated/client.cpp | 1 | ||||
| -rw-r--r-- | yt/yt/client/hedging/hedging.cpp | 1 | ||||
| -rw-r--r-- | yt/yt/client/security_client/access_control.h | 3 | ||||
| -rw-r--r-- | yt/yt/client/security_client/public.h | 1 | ||||
| -rw-r--r-- | yt/yt/client/unittests/mock/client.h | 5 |
9 files changed, 39 insertions, 1 deletions
diff --git a/yt/yt/client/api/admin_client.h b/yt/yt/client/api/admin_client.h index 1ebd2cf0607..c8653563b8b 100644 --- a/yt/yt/client/api/admin_client.h +++ b/yt/yt/client/api/admin_client.h @@ -199,6 +199,15 @@ struct TRequestRestartOptions struct TRequestRestartResult { }; +struct TCollectCoverageOptions + : public TTimeoutOptions +{ }; + +struct TCollectCoverageResult +{ + TString CoverageMap; +}; + //////////////////////////////////////////////////////////////////////////////// struct IAdminClient @@ -317,6 +326,10 @@ struct IAdminClient virtual TFuture<TRequestRestartResult> RequestRestart( const std::string& nodeAddress, const TRequestRestartOptions& options = {}) = 0; + + virtual TFuture<TCollectCoverageResult> CollectCoverage( + const std::string& address, + const TCollectCoverageOptions& options = {}) = 0; }; //////////////////////////////////////////////////////////////////////////////// diff --git a/yt/yt/client/api/delegating_client.h b/yt/yt/client/api/delegating_client.h index ec546404b5d..da38978c015 100644 --- a/yt/yt/client/api/delegating_client.h +++ b/yt/yt/client/api/delegating_client.h @@ -716,6 +716,11 @@ public: const TRequestRestartOptions& options), (nodeAddress, options)) + DELEGATE_METHOD(TFuture<TCollectCoverageResult>, CollectCoverage, ( + const std::string& address, + const TCollectCoverageOptions& options), + (address, options)) + DELEGATE_METHOD(TFuture<void>, SetUserPassword, ( const std::string& user, const TString& currentPasswordSha256, diff --git a/yt/yt/client/api/rpc_proxy/client_impl.cpp b/yt/yt/client/api/rpc_proxy/client_impl.cpp index ee2fdbc2d30..74e545e7f22 100644 --- a/yt/yt/client/api/rpc_proxy/client_impl.cpp +++ b/yt/yt/client/api/rpc_proxy/client_impl.cpp @@ -2234,6 +2234,13 @@ TFuture<TRequestRestartResult> TClient::RequestRestart( })); } +TFuture<TCollectCoverageResult> TClient::CollectCoverage( + const std::string& /*address*/, + const NApi::TCollectCoverageOptions& /*options*/) +{ + ThrowUnimplemented("CollectCoverage"); +} + TFuture<NQueryTrackerClient::TQueryId> TClient::StartQuery( NQueryTrackerClient::EQueryEngine engine, const TString& query, diff --git a/yt/yt/client/api/rpc_proxy/client_impl.h b/yt/yt/client/api/rpc_proxy/client_impl.h index a161cfe88dc..87241e21e26 100644 --- a/yt/yt/client/api/rpc_proxy/client_impl.h +++ b/yt/yt/client/api/rpc_proxy/client_impl.h @@ -457,6 +457,10 @@ public: const std::string& nodeAddress, const TRequestRestartOptions& options) override; + TFuture<TCollectCoverageResult> CollectCoverage( + const std::string& address, + const NApi::TCollectCoverageOptions& options) override; + // Query tracker TFuture<NQueryTrackerClient::TQueryId> StartQuery( diff --git a/yt/yt/client/federated/client.cpp b/yt/yt/client/federated/client.cpp index 4eaee7d9198..da84323bbbd 100644 --- a/yt/yt/client/federated/client.cpp +++ b/yt/yt/client/federated/client.cpp @@ -456,6 +456,7 @@ public: UNIMPLEMENTED_METHOD(TFuture<TDestroyChunkLocationsResult>, DestroyChunkLocations, (const std::string&, bool, const std::vector<TGuid>&, const TDestroyChunkLocationsOptions&)); UNIMPLEMENTED_METHOD(TFuture<TResurrectChunkLocationsResult>, ResurrectChunkLocations, (const std::string&, const std::vector<TGuid>&, const TResurrectChunkLocationsOptions&)); UNIMPLEMENTED_METHOD(TFuture<TRequestRestartResult>, RequestRestart, (const std::string&, const TRequestRestartOptions&)); + UNIMPLEMENTED_METHOD(TFuture<TCollectCoverageResult>, CollectCoverage, (const std::string&, const TCollectCoverageOptions&)); UNIMPLEMENTED_METHOD(TFuture<void>, SetUserPassword, (const std::string&, const TString&, const TString&, const TSetUserPasswordOptions&)); UNIMPLEMENTED_METHOD(TFuture<TIssueTokenResult>, IssueToken, (const std::string&, const TString&, const TIssueTokenOptions&)); UNIMPLEMENTED_METHOD(TFuture<void>, RevokeToken, (const std::string&, const TString&, const TString&, const TRevokeTokenOptions&)); diff --git a/yt/yt/client/hedging/hedging.cpp b/yt/yt/client/hedging/hedging.cpp index e5bdd74b228..0ad52946f02 100644 --- a/yt/yt/client/hedging/hedging.cpp +++ b/yt/yt/client/hedging/hedging.cpp @@ -204,6 +204,7 @@ public: UNSUPPORTED_METHOD(TFuture<TDestroyChunkLocationsResult>, DestroyChunkLocations, (const std::string&, bool, const std::vector<TGuid>&, const TDestroyChunkLocationsOptions&)); UNSUPPORTED_METHOD(TFuture<TResurrectChunkLocationsResult>, ResurrectChunkLocations, (const std::string&, const std::vector<TGuid>&, const TResurrectChunkLocationsOptions&)); UNSUPPORTED_METHOD(TFuture<TRequestRestartResult>, RequestRestart, (const std::string&, const TRequestRestartOptions&)); + UNSUPPORTED_METHOD(TFuture<TCollectCoverageResult>, CollectCoverage, (const std::string&, const TCollectCoverageOptions&)); UNSUPPORTED_METHOD(TFuture<TPullRowsResult>, PullRows, (const TYPath&, const TPullRowsOptions&)); UNSUPPORTED_METHOD(TFuture<void>, SetUserPassword, (const std::string&, const TString&, const TString&, const TSetUserPasswordOptions&)); UNSUPPORTED_METHOD(TFuture<TIssueTokenResult>, IssueToken, (const std::string&, const TString&, const TIssueTokenOptions&)); diff --git a/yt/yt/client/security_client/access_control.h b/yt/yt/client/security_client/access_control.h index 4152b9f7bcd..c24384b824f 100644 --- a/yt/yt/client/security_client/access_control.h +++ b/yt/yt/client/security_client/access_control.h @@ -47,7 +47,8 @@ const THashMap<EAccessControlObject, TAccessControlObjectDescriptor> AccessContr ACCESS_CONTROL_ENTRY(EAccessControlObjectNamespace::AdminCommands, EAccessControlObject::MasterExitReadOnly), ACCESS_CONTROL_ENTRY(EAccessControlObjectNamespace::AdminCommands, EAccessControlObject::DiscombobulateNonvotingPeers), ACCESS_CONTROL_ENTRY(EAccessControlObjectNamespace::AdminCommands, EAccessControlObject::SwitchLeader), - ACCESS_CONTROL_ENTRY(EAccessControlObjectNamespace::AdminCommands, EAccessControlObject::RequestRestart) + ACCESS_CONTROL_ENTRY(EAccessControlObjectNamespace::AdminCommands, EAccessControlObject::RequestRestart), + ACCESS_CONTROL_ENTRY(EAccessControlObjectNamespace::AdminCommands, EAccessControlObject::CollectCoverage) }; //////////////////////////////////////////////////////////////////////////////// diff --git a/yt/yt/client/security_client/public.h b/yt/yt/client/security_client/public.h index 5ae69da4f83..2bb6eaeffb6 100644 --- a/yt/yt/client/security_client/public.h +++ b/yt/yt/client/security_client/public.h @@ -98,6 +98,7 @@ DEFINE_ENUM(EAccessControlObject, (DiscombobulateNonvotingPeers) (SwitchLeader) (RequestRestart) + (CollectCoverage) ); //////////////////////////////////////////////////////////////////////////////// diff --git a/yt/yt/client/unittests/mock/client.h b/yt/yt/client/unittests/mock/client.h index e29d989ceb5..69cffebbb48 100644 --- a/yt/yt/client/unittests/mock/client.h +++ b/yt/yt/client/unittests/mock/client.h @@ -361,6 +361,11 @@ public: const TRemoveMaintenanceOptions& options), (override)); + MOCK_METHOD(TFuture<TCollectCoverageResult>, CollectCoverage, ( + const std::string& address, + const TCollectCoverageOptions& options), + (override)); + MOCK_METHOD(void, Terminate, (), (override)); MOCK_METHOD(const NChaosClient::IReplicationCardCachePtr&, GetReplicationCardCache, (), |
