32#include "batch_request.h"
40#include <library/cpp/threading/future/future.h>
42#include <util/datetime/base.h>
43#include <util/generic/maybe.h>
44#include <util/system/compiler.h>
110 virtual ~ILock() =
default;
113 virtual const TLockId&
GetId()
const = 0;
130 void Wait(TDuration timeout = TDuration::Max());
209 virtual const TTransactionId&
GetId()
const = 0;
293 const TTransactionId& transactionId,
350 const TVector<TKey>& pivotKeys,
368 const TNode::TListType& rows,
377 const TNode::TListType& keys,
405 const TNode::TListType& keys,
413 const TString& query,
423 const TReplicaId& replicaId,
440 const TOperationId& operationId,
448 const TString& alias,
463 const TOperationId& operationId,
471 const TOperationId& operationId,
480 const TOperationId& operationId,
500 const TOperationId& operationId,
517 const TOperationId& operationId,
530 const TOperationId& operationId,
546 const std::vector<TYPath>& tablePaths,
570 const TVector<int>& tabletIndexes,
596 const TOperationId& operationId,
603 const TOperationId& operationId,
614 const TDistributedWriteTableSession& session,
621 const TDistributedWriteTableSession& session,
622 const TVector<TWriteTableFragmentResult>& results,
635 const TDistributedWriteFileSession& session,
642 const TDistributedWriteFileSession& session,
643 const TVector<TWriteFileFragmentResult>& results,
662 const TString& serverName,
667 const TString& serverName,
Base class for NYT::IClient and NYT::ITransaction.
Definition client.h:143
virtual TDistributedWriteTableSessionWithCookies StartDistributedWriteTableSession(const TRichYPath &richPath, i64 cookieCount, const TStartDistributedWriteTableOptions &options={})=0
Initialize distributed table session and request cookies for participants.
virtual IClientPtr GetParentClient(bool ignoreGlobalTx=false)=0
Get root client.
virtual TBatchRequestPtr CreateBatchRequest()=0
Create batch request object that allows to execute several light requests in parallel.
virtual ITransactionPtr StartTransaction(const TStartTransactionOptions &options=TStartTransactionOptions())=0
Start a [transaction] (https://ytsaurus.tech/docs/en/user-guide/storage/transactions....
virtual void AlterTable(const TYPath &path, const TAlterTableOptions &options=TAlterTableOptions())=0
Change properties of table.
virtual TDistributedWriteFileSessionWithCookies StartDistributedWriteFileSession(const TRichYPath &richPath, i64 cookieCount, const TStartDistributedWriteFileOptions &options={})=0
Initialize distributed file session and request cookies for participants.
Interface containing non-transactional commands.
Definition client.h:282
virtual void TrimRows(const TYPath &path, i64 tabletIndex, i64 rowCount, const TTrimRowsOptions &options=TTrimRowsOptions())=0
Trim rows from the beginning of ordered dynamic table.
virtual void Shutdown()=0
Synchronously terminates all client's background activities.
virtual ITransactionPtr AttachTransaction(const TTransactionId &transactionId, const TAttachTransactionOptions &options=TAttachTransactionOptions())=0
Attach to existing master transaction.
virtual void ReshardTable(const TYPath &path, const TVector< TKey > &pivotKeys, const TReshardTableOptions &options=TReshardTableOptions())=0
Reshard dynamic table (break it into tablets) by given pivot keys.
virtual TListOperationsResult ListOperations(const TListOperationsOptions &options=TListOperationsOptions())=0
List operations satisfying given filters.
virtual ui64 GenerateTimestamp()=0
Generate a monotonously increasing master timestamp.
virtual void CheckClusterLiveness(const TCheckClusterLivenessOptions &options=TCheckClusterLivenessOptions())=0
Check cluster liveness.
virtual void AlterTableReplica(const TReplicaId &replicaId, const TAlterTableReplicaOptions &alterTableReplicaOptions)=0
Change properties of table replica.
virtual void FinishDistributedWriteFileSession(const TDistributedWriteFileSession &session, const TVector< TWriteFileFragmentResult > &results, const TFinishDistributedWriteFileOptions &options={})=0
Merge all write fragments results into file and close distributed session.
virtual void InsertRows(const TYPath &path, const TNode::TListType &rows, const TInsertRowsOptions &options=TInsertRowsOptions())=0
Insert rows into dynamic table.
virtual void PingDistributedWriteFileSession(const TDistributedWriteFileSession &session, const TPingDistributedWriteFileOptions &options={})=0
Ping distributed session to prolong its main transaction lifetime.
virtual TOperationAttributes GetOperation(const TOperationId &operationId, const TGetOperationOptions &options=TGetOperationOptions())=0
Get operation attributes.
virtual void SuspendOperation(const TOperationId &operationId, const TSuspendOperationOptions &options=TSuspendOperationOptions())=0
Suspend operation.
virtual void PingDistributedWriteTableSession(const TDistributedWriteTableSession &session, const TPingDistributedWriteTableOptions &options={})=0
Ping distributed session to prolong its main transaction lifetime.
virtual TNode::TListType SelectRows(const TString &query, const TSelectRowsOptions &options=TSelectRowsOptions())=0
Select rows from dynamic table, using SQL dialect.
virtual const TNode::TMapType & GetDynamicConfiguration(const TString &configProfile)
Get cluster configuration stored in Cypress by profile name (e.g. "default").
virtual void UnfreezeTable(const TYPath &path, const TUnfreezeTableOptions &options=TUnfreezeTableOptions())=0
Switch dynamic table from frozen into mounted state.
virtual void FinishDistributedWriteTableSession(const TDistributedWriteTableSession &session, const TVector< TWriteTableFragmentResult > &results, const TFinishDistributedWriteTableOptions &options={})=0
Merge all write fragments results into table and close distributed session.
virtual void ResumeOperation(const TOperationId &operationId, const TResumeOperationOptions &options=TResumeOperationOptions())=0
Resume previously suspended operation.
virtual IFileReaderPtr GetJobInput(const TJobId &jobId, const TGetJobInputOptions &options=TGetJobInputOptions())=0
Get the input of a running or failed job.
virtual TJobAttributes GetJob(const TOperationId &operationId, const TJobId &jobId, const TGetJobOptions &options=TGetJobOptions())=0
Get job attributes.
virtual TAuthorizationInfo WhoAmI()=0
Return YT username of current client.
virtual IFileReaderPtr GetJobTrace(const TOperationId &operationId, const TJobId &jobId, const TGetJobTraceOptions &options=TGetJobTraceOptions())=0
Get trace of a job.
virtual void MountTable(const TYPath &path, const TMountTableOptions &options=TMountTableOptions())=0
Mount dynamic table.
virtual TNode::TListType LookupRows(const TYPath &path, const TNode::TListType &keys, const TLookupRowsOptions &options=TLookupRowsOptions())=0
Lookup rows with given keys from dynamic table.
virtual void ReshardTable(const TYPath &path, i64 tabletCount, const TReshardTableOptions &options=TReshardTableOptions())=0
Reshard dynamic table, breaking it into given number of tablets.
virtual TNode::TListType SkyShareTable(const std::vector< TYPath > &tablePaths, const TSkyShareTableOptions &options)=0
Create one or several rbtorrents for files in a blob table.
virtual TCheckPermissionResponse CheckPermission(const TString &user, EPermission permission, const TYPath &path, const TCheckPermissionOptions &options=TCheckPermissionOptions())=0
Check if user has permission to access a Cypress node at path.
virtual void UnmountTable(const TYPath &path, const TUnmountTableOptions &options=TUnmountTableOptions())=0
Unmount dynamic table.
virtual IFileReaderPtr GetJobStderr(const TOperationId &operationId, const TJobId &jobId, const TGetJobStderrOptions &options=TGetJobStderrOptions())=0
Get stderr of a running or failed job.
virtual IFileReaderPtr GetJobFailContext(const TOperationId &operationId, const TJobId &jobId, const TGetJobFailContextOptions &options=TGetJobFailContextOptions())=0
Get fail context of a failed job.
virtual void DeleteRows(const TYPath &path, const TNode::TListType &keys, const TDeleteRowsOptions &options=TDeleteRowsOptions())=0
Delete rows from dynamic table.
virtual TVector< TTabletInfo > GetTabletInfos(const TYPath &path, const TVector< int > &tabletIndexes, const TGetTabletInfosOptions &options=TGetTabletInfosOptions())=0
Get information about tablet.
virtual void RemountTable(const TYPath &path, const TRemountTableOptions &options=TRemountTableOptions())=0
Remount dynamic table.
virtual void UpdateOperationParameters(const TOperationId &operationId, const TUpdateOperationParametersOptions &options)=0
Update operation runtime parameters.
virtual TListJobsResult ListJobs(const TOperationId &operationId, const TListJobsOptions &options=TListJobsOptions())=0
virtual void FreezeTable(const TYPath &path, const TFreezeTableOptions &options=TFreezeTableOptions())=0
Switch dynamic table from mounted' into frozen' state.
virtual TOperationAttributes GetOperation(const TString &alias, const TGetOperationOptions &options=TGetOperationOptions())=0
Get operation attributes.
Client interface to execute Cypress-related commands.
Definition cypress.h:22
Interface for creating table and file readers and writer.
Definition io.h:460
Interface representing a lock obtained from NYT::ITransaction::Lock.
Definition client.h:108
virtual TNodeId GetLockedNodeId() const =0
Get cypress node id of locked object.
virtual const TLockId & GetId() const =0
Get cypress node id of lock itself.
void Wait(TDuration timeout=TDuration::Max())
Wait until lock is in "acquired" state.
virtual const ::NThreading::TFuture< void > & GetAcquiredFuture() const =0
Get future that will be set once lock is in "acquired" state.
Interface representing a master transaction.
Definition client.h:206
virtual void Detach()
Detach transaction.
virtual void Unlock(const TYPath &path, const TUnlockOptions &options=TUnlockOptions())=0
Remove all the locks (including pending ones) for this transaction from a Cypress node at path.
virtual ILockPtr Lock(const TYPath &path, ELockMode mode, const TLockOptions &options=TLockOptions())=0
Try to lock given path.
virtual const TTransactionId & GetId() const =0
Get id of transaction.
virtual void Ping()=0
Explicitly ping transaction.
virtual void Commit(const TCommitTransactionOptions &options={})=0
Commit transaction.
virtual void Abort()=0
Abort transaction.
Main namespace of YT client.
Definition abortable_stream.h:7
EPermission
Definition client_method_options.h:1514
ESecurityAction
Whether permission is granted or denied.
Definition client_method_options.h:1545
IClientPtr CreateClient(const TString &serverName, const TCreateClientOptions &options={})
Create a client for particular MapReduce cluster.
IClientPtr CreateClientFromEnv(const TCreateClientOptions &options={})
Create a client for mapreduce cluster specified in YT_PROXY environment variable.
ELockMode
Type of the lock.
Definition client_method_options.h:960
IClientPtr CreateRpcClient(const TString &serverName, const TCreateClientOptions &options={})
Create a rpc client for particular cluster.
Interface of client capable of managing operations.
Definition operation.h:3407
Options for NYT::IClient::AlterTable.
Definition client_method_options.h:1120
Options for NYT::IClient::AlterTableReplica.
Definition client_method_options.h:1462
Options for attaching transaction.
Definition client_method_options.h:932
OAuth info (returned by NYT::IClient::WhoAmI).
Definition client.h:53
TString Login
User's login.
Definition client.h:55
TString Realm
Realm.
Definition client.h:58
Options for NYT::IClient::CheckClusterLiveness.
Definition client_method_options.h:1728
Options for NYT::IClient::CheckPermission.
Definition client_method_options.h:1558
Result of NYT::IClient::CheckPermission command.
Definition client.h:94
TVector< TCheckPermissionResult > Columns
Results for the table columns access permissions.
Definition client.h:98
Part of NYT::TCheckPermissionResponse.
Definition client.h:68
TMaybe< TGUID > SubjectId
Id of the subject for whom the access was denied by a "deny" rule.
Definition client.h:82
TMaybe< TGUID > ObjectId
Id of the object whose ACL's "deny" rule forbids the access.
Definition client.h:73
TMaybe< TString > SubjectName
Name of the subject for whom the access was denied by a "deny" rule.
Definition client.h:85
TMaybe< TString > ObjectName
Name of the object whose ACL's "deny" rule forbids the access.
Definition client.h:79
ESecurityAction Action
Was the access granted or not.
Definition client.h:70
Options for NYT::ITransaction::Commit.
Definition client_method_options.h:1029
Options for NYT::CreateClient;.
Definition client_method_options.h:1212
Options for NYT::IClient::DeleteRows.
Definition client_method_options.h:1439
Definition distributed_session.h:94
Definition distributed_session.h:59
Definition distributed_session.h:122
Definition distributed_session.h:87
Options for NYT::IClient::FreezeTable.
Definition client_method_options.h:1105
Options for NYT::IClient::GetJobFailContext.
Definition operation.h:3148
Options for NYT::IClient::GetJob.
Definition operation.h:3126
Options for NYT::IClient::GetJobStderr.
Definition operation.h:3157
Options for NYT::IClient::GetJobTrace.
Definition operation.h:3187
Options for NYT::IClient::GetOperation call.
Definition operation.h:2393
Options for NYT::IClient::GetTabletInfos.
Definition client_method_options.h:1696
Options for NYT::IClient::InsertRows.
Definition client_method_options.h:1401
Job attributes.
Definition operation.h:3038
Options for NYT::IClient::ListJobs.
Definition operation.h:2911
Response for NYT::IOperation::ListJobs.
Definition operation.h:3103
Options of NYT::IClient::ListOperations command.
Definition operation.h:2599
Response for NYT::IClient::ListOperations command.
Definition operation.h:2684
Options for locking cypress node.
Definition client_method_options.h:978
Options for NYT::IClient::LookupRows.
Definition client_method_options.h:1143
Options for NYT::IClient::MountTable.
Definition client_method_options.h:1056
Operation info.
Definition operation.h:2516
Definition distributed_session.h:117
Definition distributed_session.h:82
Options for NYT::IClient::RemountTable.
Definition client_method_options.h:1089
Options for NYT::IClient::ReshardTable.
Definition client_method_options.h:1097
Options for NYT::IOperation::ResumeOperation.
Definition client_method_options.h:493
Path with additional attributes.
Definition common.h:1040
Options for NYT::IClient::SelectRows.
Definition client_method_options.h:1172
Options for NYT::IClient::SkyShareTable.
Definition client_method_options.h:1704
Definition distributed_session.h:103
Definition distributed_session.h:68
Options for NYT::IClient::StartTransaction.
Definition client_method_options.h:886
Options for NYT::IOperation::SuspendOperation.
Definition client_method_options.h:469
Options for NYT::IClient::TrimRows.
Definition client_method_options.h:1455
Options for NYT::IClient::UnfreezeTable.
Definition client_method_options.h:1113
Options for NYT::ITransaction::Unlock.
Definition client_method_options.h:1017
Options for NYT::IClient::UnmountTable.
Definition client_method_options.h:1074
Options for NYT::IOperation::UpdateParameters.
Definition client_method_options.h:504