diff options
author | gryzlov-ad <[email protected]> | 2025-04-09 13:24:00 +0300 |
---|---|---|
committer | gryzlov-ad <[email protected]> | 2025-04-09 13:47:51 +0300 |
commit | 2da977708b0f780fd122dd337aedefbad66ad289 (patch) | |
tree | 97e34f059d5664371640404ea7fa8f3210cadd02 | |
parent | 3109c7a26f89a904f6a52d24f48072afd8c7ba19 (diff) |
YT-23505: Introduce chaos lease
commit_hash:4c47b7b75ace18f0f57347b25b062bf0d414e7d9
-rw-r--r-- | yt/yt/client/chaos_client/helpers.cpp | 9 | ||||
-rw-r--r-- | yt/yt/client/chaos_client/public.h | 5 | ||||
-rw-r--r-- | yt/yt/client/object_client/helpers.cpp | 10 | ||||
-rw-r--r-- | yt/yt/client/object_client/helpers.h | 6 | ||||
-rw-r--r-- | yt/yt/client/object_client/public.h | 1 | ||||
-rw-r--r-- | yt/yt_proto/yt/client/chaos_client/proto/chaos_lease.proto | 10 | ||||
-rw-r--r-- | yt/yt_proto/yt/client/ya.make | 1 |
7 files changed, 41 insertions, 1 deletions
diff --git a/yt/yt/client/chaos_client/helpers.cpp b/yt/yt/client/chaos_client/helpers.cpp index 8f7a289c348..7ec2f3284d7 100644 --- a/yt/yt/client/chaos_client/helpers.cpp +++ b/yt/yt/client/chaos_client/helpers.cpp @@ -21,6 +21,15 @@ TReplicationCardId MakeReplicationCardId(TObjectId randomId) EntropyFromId(randomId) & 0xffff0000); } +TReplicationCardId MakeChaosLeaseId(TObjectId randomId) +{ + return MakeId( + EObjectType::ChaosLease, + CellTagFromId(randomId), + CounterFromId(randomId), + EntropyFromId(randomId) & 0xffff0000); +} + TReplicaId MakeReplicaId(TReplicationCardId replicationCardId, TReplicaIdIndex index) { return MakeId( diff --git a/yt/yt/client/chaos_client/public.h b/yt/yt/client/chaos_client/public.h index 4f1eb1c50ae..5c50d3a806e 100644 --- a/yt/yt/client/chaos_client/public.h +++ b/yt/yt/client/chaos_client/public.h @@ -11,7 +11,10 @@ namespace NYT::NChaosClient { //////////////////////////////////////////////////////////////////////////////// using TReplicationCardId = NObjectClient::TObjectId; -using TReplicationCardCollocationId = NObjectClient::TObjectId; +using TChaosObjectId = NObjectClient::TObjectId; +// using TReplicationCardId = TChaosObjectId; +using TReplicationCardCollocationId = TChaosObjectId; +using TChaosLeaseId = TChaosObjectId; using TReplicaId = NObjectClient::TObjectId; using TReplicationEra = ui64; using TReplicaIdIndex = ui16; diff --git a/yt/yt/client/object_client/helpers.cpp b/yt/yt/client/object_client/helpers.cpp index e7ba1b93ce1..db59fe02b08 100644 --- a/yt/yt/client/object_client/helpers.cpp +++ b/yt/yt/client/object_client/helpers.cpp @@ -256,6 +256,16 @@ bool IsChaosTableReplicaType(EObjectType type) return type == EObjectType::ChaosTableReplica; } +bool IsReplicationCardType(EObjectType type) +{ + return type == EObjectType::ReplicationCard; +} + +bool IsChaosLeaseType(EObjectType type) +{ + return type == EObjectType::ChaosLease; +} + bool IsCollocationType(EObjectType type) { return diff --git a/yt/yt/client/object_client/helpers.h b/yt/yt/client/object_client/helpers.h index ac2f24714c1..64fd9b2445c 100644 --- a/yt/yt/client/object_client/helpers.h +++ b/yt/yt/client/object_client/helpers.h @@ -67,6 +67,12 @@ bool IsTableReplicaType(EObjectType type); //! Checks if the given type is a chaos replica. bool IsChaosTableReplicaType(EObjectType type); +//! Checks if the given type is a replication card. +bool IsReplicationCardType(EObjectType type); + +//! Checks if the given type is a chaos lease. +bool IsChaosLeaseType(EObjectType type); + //! Checks if the given type is a collocation. bool IsCollocationType(EObjectType type); diff --git a/yt/yt/client/object_client/public.h b/yt/yt/client/object_client/public.h index 37a83b1b207..e037ce3f74a 100644 --- a/yt/yt/client/object_client/public.h +++ b/yt/yt/client/object_client/public.h @@ -342,6 +342,7 @@ DEFINE_ENUM(EObjectType, ((ChaosReplicatedTable) (1206)) ((ReplicationCardCollocation) (1207)) ((VirtualChaosCellMap) (1208)) + ((ChaosLease) (1209)) // Other cluster components stuff ((ClusterProxyNode) (1500)) diff --git a/yt/yt_proto/yt/client/chaos_client/proto/chaos_lease.proto b/yt/yt_proto/yt/client/chaos_client/proto/chaos_lease.proto new file mode 100644 index 00000000000..970c8e7447b --- /dev/null +++ b/yt/yt_proto/yt/client/chaos_client/proto/chaos_lease.proto @@ -0,0 +1,10 @@ +package NYT.NChaosClient.NProto; + +import "yt_proto/yt/core/misc/proto/guid.proto"; + +//////////////////////////////////////////////////////////////////////////////// + +message TChaosLease +{ } + +//////////////////////////////////////////////////////////////////////////////// diff --git a/yt/yt_proto/yt/client/ya.make b/yt/yt_proto/yt/client/ya.make index dbf44fcbc89..e799449115f 100644 --- a/yt/yt_proto/yt/client/ya.make +++ b/yt/yt_proto/yt/client/ya.make @@ -19,6 +19,7 @@ SRCS( cell_master/proto/cell_directory.proto chaos_client/proto/replication_card.proto + chaos_client/proto/chaos_lease.proto chunk_client/proto/data_statistics.proto chunk_client/proto/chunk_meta.proto |