diff --git a/CHANGELOG.md b/CHANGELOG.md index c53465784..164184f09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +* Add `TopicClient.reset_offset` (sync and async) to rewind a consumer's committed offsets on all topic partitions, including inactive ones, to earliest, latest, or the first message written at or after a given time * Deprecated the table client scan query methods — `TableClient.scan_query`, `TableClient.async_scan_query` and the async `ydb.aio.TableClient.scan_query`: they now emit a `DeprecationWarning` and keep working as before, use QueryService (`ydb.QuerySessionPool` / `ydb.aio.QuerySessionPool`) instead * Mark the package as typed so type checkers use the SDK's inline annotations diff --git a/docs/apireference.rst b/docs/apireference.rst index 5dc3144ca..c0218112b 100644 --- a/docs/apireference.rst +++ b/docs/apireference.rst @@ -484,6 +484,13 @@ TopicCodec :members: :undoc-members: +TopicResetOffset +^^^^^^^^^^^^^^^^ + +.. autoclass:: ydb.TopicResetOffset + :members: + :undoc-members: + TopicWriterMessage ^^^^^^^^^^^^^^^^^^ diff --git a/docs/topic.rst b/docs/topic.rst index bd5455691..bcfd92f6d 100644 --- a/docs/topic.rst +++ b/docs/topic.rst @@ -507,6 +507,34 @@ from the last committed offset when the reader reconnects. automatically when the reader is closed (``flush=True`` by default). +Resetting Offsets +^^^^^^^^^^^^^^^^^ + +``reset_offset`` rewinds a consumer's committed offsets on every topic partition, including +inactive partitions left after a split or merge. Partitions are updated independently: the +call is not atomic, and a failure may still leave some partitions already rewritten. Any +active read session of this consumer is dropped. + +.. code-block:: python + + import datetime + + # Rewind to the beginning or to the end of every partition. + driver.topic_client.reset_offset(topic_path, consumer, to=ydb.TopicResetOffset.EARLIEST) + driver.topic_client.reset_offset(topic_path, consumer, to=ydb.TopicResetOffset.LATEST) + + # Rewind to the first message written at or after the given time. + # If there is no such message, the partition end offset is used. + driver.topic_client.reset_offset( + topic_path, + consumer, + to=datetime.datetime(2026, 1, 1, tzinfo=datetime.timezone.utc), + ) + + # Asynchronous client has the same method. + await driver.topic_client.reset_offset(topic_path, consumer, to=ydb.TopicResetOffset.EARLIEST) + + Handling Partition Rebalancing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/examples/topic/reader_example.py b/examples/topic/reader_example.py index ab8157a9b..9ffca196f 100644 --- a/examples/topic/reader_example.py +++ b/examples/topic/reader_example.py @@ -98,6 +98,11 @@ def process_batch(batch): process_batch(batch) +def reset_consumer_offset(db: ydb.Driver): + db.topic_client.reset_offset("/local/topic", "consumer", to=ydb.TopicResetOffset.EARLIEST) + db.topic_client.reset_offset("/local/topic", "consumer", to=ydb.TopicResetOffset.LATEST) + + def handle_partition_graceful_stop_batch(reader: ydb.TopicReader): # no special handle, but batch will contain less than prefer count messages while True: diff --git a/tests/topics/test_control_plane.py b/tests/topics/test_control_plane.py index 858ecadd6..467a474f7 100644 --- a/tests/topics/test_control_plane.py +++ b/tests/topics/test_control_plane.py @@ -1,3 +1,4 @@ +import datetime import os.path import pytest @@ -6,6 +7,14 @@ from ydb import issues +def _committed_offset(description, partition_id=0): + for partition in description.partitions: + if partition.partition_id == partition_id: + assert partition.partition_consumer_stats is not None + return partition.partition_consumer_stats.committed_offset + raise AssertionError("partition %s not found" % partition_id) + + @pytest.mark.asyncio class TestTopicClientControlPlaneAsyncIO: async def test_create_topic(self, driver, database): @@ -148,6 +157,78 @@ async def test_alter_auto_partitioning_settings(self, driver, topic_path): assert topic_after.auto_partitioning_settings == expected + async def test_reset_offset(self, driver, topic_with_messages, topic_consumer): + client = driver.topic_client + path = topic_with_messages + + await client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.LATEST) + description = await client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 4 + + await client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.LATEST) + description = await client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 4 + + await client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.EARLIEST) + description = await client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 0 + + async with client.reader(path, topic_consumer) as reader: + message = await reader.receive_message() + assert message.data.decode() == "123" + + written_at = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(hours=1) + await client.reset_offset(path, topic_consumer, to=written_at) + description = await client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 4 + + async def test_reset_offset_missing_topic_and_consumer(self, driver, topic_path, topic_consumer): + client = driver.topic_client + + with pytest.raises(issues.SchemeError): + await client.reset_offset(topic_path + "-missing", topic_consumer, to=ydb.TopicResetOffset.EARLIEST) + + with pytest.raises(issues.SchemeError): + await client.reset_offset(topic_path, "no-such-consumer", to=ydb.TopicResetOffset.EARLIEST) + + async def test_reset_offset_leaves_other_consumer(self, driver, database): + client = driver.topic_client + path = database + "/reset-offset-two-consumers" + try: + await client.drop_topic(path) + except issues.SchemeError: + pass + + await client.create_topic(path, consumers=["consumer-a", "consumer-b"]) + async with client.writer(path) as writer: + await writer.write_with_ack( + [ + ydb.TopicWriterMessage(data=b"m1"), + ydb.TopicWriterMessage(data=b"m2"), + ] + ) + + await client.reset_offset(path, "consumer-a", to=ydb.TopicResetOffset.LATEST) + + consumer_a = await client.describe_consumer(path, "consumer-a", include_stats=True) + consumer_b = await client.describe_consumer(path, "consumer-b", include_stats=True) + assert _committed_offset(consumer_a) == 2 + assert _committed_offset(consumer_b) == 0 + + async def test_reset_offset_all_partitions(self, driver, topic_with_two_partitions_path, topic_consumer): + client = driver.topic_client + path = topic_with_two_partitions_path + + for partition_id in (0, 1): + async with client.writer(path, partition_id=partition_id) as writer: + await writer.write_with_ack(ydb.TopicWriterMessage(data=b"m")) + + await client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.LATEST) + + description = await client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description, 0) == 1 + assert _committed_offset(description, 1) == 1 + class TestTopicClientControlPlane: def test_create_topic(self, driver_sync, database): @@ -253,3 +334,75 @@ def test_alter_existed_topic(self, driver_sync, topic_path): topic_after = client.describe_topic(topic_path) assert topic_after.min_active_partitions == target_min_active_partitions + + def test_reset_offset(self, driver_sync, topic_with_messages, topic_consumer): + client = driver_sync.topic_client + path = topic_with_messages + + client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.LATEST) + description = client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 4 + + client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.LATEST) + description = client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 4 + + client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.EARLIEST) + description = client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 0 + + with client.reader(path, topic_consumer) as reader: + message = reader.receive_message() + assert message.data.decode() == "123" + + written_at = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(hours=1) + client.reset_offset(path, topic_consumer, to=written_at) + description = client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description) == 4 + + def test_reset_offset_missing_topic_and_consumer(self, driver_sync, topic_path, topic_consumer): + client = driver_sync.topic_client + + with pytest.raises(issues.SchemeError): + client.reset_offset(topic_path + "-missing", topic_consumer, to=ydb.TopicResetOffset.EARLIEST) + + with pytest.raises(issues.SchemeError): + client.reset_offset(topic_path, "no-such-consumer", to=ydb.TopicResetOffset.EARLIEST) + + def test_reset_offset_leaves_other_consumer(self, driver_sync, database): + client = driver_sync.topic_client + path = database + "/reset-offset-two-consumers-sync" + try: + client.drop_topic(path) + except issues.SchemeError: + pass + + client.create_topic(path, consumers=["consumer-a", "consumer-b"]) + with client.writer(path) as writer: + writer.write_with_ack( + [ + ydb.TopicWriterMessage(data=b"m1"), + ydb.TopicWriterMessage(data=b"m2"), + ] + ) + + client.reset_offset(path, "consumer-a", to=ydb.TopicResetOffset.LATEST) + + consumer_a = client.describe_consumer(path, "consumer-a", include_stats=True) + consumer_b = client.describe_consumer(path, "consumer-b", include_stats=True) + assert _committed_offset(consumer_a) == 2 + assert _committed_offset(consumer_b) == 0 + + def test_reset_offset_all_partitions(self, driver_sync, topic_with_two_partitions_path, topic_consumer): + client = driver_sync.topic_client + path = topic_with_two_partitions_path + + for partition_id in (0, 1): + with client.writer(path, partition_id=partition_id) as writer: + writer.write_with_ack(ydb.TopicWriterMessage(data=b"m")) + + client.reset_offset(path, topic_consumer, to=ydb.TopicResetOffset.LATEST) + + description = client.describe_consumer(path, topic_consumer, include_stats=True) + assert _committed_offset(description, 0) == 1 + assert _committed_offset(description, 1) == 1 diff --git a/ydb/_apis.py b/ydb/_apis.py index 4748106cc..d5023bac8 100644 --- a/ydb/_apis.py +++ b/ydb/_apis.py @@ -126,6 +126,7 @@ class TopicService(object): StreamWrite = "StreamWrite" UpdateOffsetsInTransaction = "UpdateOffsetsInTransaction" CommitOffset = "CommitOffset" + ResetOffset = "ResetOffset" class QueryService(object): diff --git a/ydb/_grpc/grpcwrapper/ydb_topic.py b/ydb/_grpc/grpcwrapper/ydb_topic.py index 19b38bf01..b1b8ced88 100644 --- a/ydb/_grpc/grpcwrapper/ydb_topic.py +++ b/ydb/_grpc/grpcwrapper/ydb_topic.py @@ -162,6 +162,35 @@ def to_proto(self) -> ydb_topic_pb2.CommitOffsetRequest: ) +@dataclass +class ResetOffsetRequest(IToProto): + path: str + consumer: str + to: Union[ydb_topic_public_types.PublicResetOffset, datetime.datetime] + + def __post_init__(self): + if isinstance(self.to, datetime.datetime): + return + if isinstance(self.to, ydb_topic_public_types.PublicResetOffset): + return + raise TypeError( + "reset offset target must be TopicResetOffset.EARLIEST, TopicResetOffset.LATEST, or datetime.datetime" + ) + + def to_proto(self) -> ydb_topic_pb2.ResetOffsetRequest: + res = ydb_topic_pb2.ResetOffsetRequest( + path=self.path, + consumer=self.consumer, + ) + if isinstance(self.to, datetime.datetime): + res.from_written_at.written_at.FromDatetime(self.to) + elif self.to == ydb_topic_public_types.PublicResetOffset.EARLIEST: + res.earliest.SetInParent() + elif self.to == ydb_topic_public_types.PublicResetOffset.LATEST: + res.latest.SetInParent() + return res + + ######################################################################################################################## # StreamWrite ######################################################################################################################## diff --git a/ydb/_grpc/grpcwrapper/ydb_topic_public_types.py b/ydb/_grpc/grpcwrapper/ydb_topic_public_types.py index afb031d91..f2a2c7984 100644 --- a/ydb/_grpc/grpcwrapper/ydb_topic_public_types.py +++ b/ydb/_grpc/grpcwrapper/ydb_topic_public_types.py @@ -1,7 +1,7 @@ import datetime import typing from dataclasses import dataclass, field -from enum import IntEnum +from enum import Enum, IntEnum from typing import Optional, List, Union, Dict # Workaround for good IDE and universal for runtime @@ -66,6 +66,18 @@ class PublicCodec(int): ZSTD = 4 # Has not supported codec in standard library +class PublicResetOffset(Enum): + """ + Where to rewind a consumer's committed offsets. + + Pass a ``datetime`` to :meth:`TopicClient.reset_offset` instead of this enum + to rewind to the first message with write timestamp greater than or equal to that time. + """ + + EARLIEST = "earliest" + LATEST = "latest" + + class PublicMeteringMode(IntEnum): UNSPECIFIED = 0 RESERVED_CAPACITY = 1 diff --git a/ydb/_grpc/grpcwrapper/ydb_topic_test.py b/ydb/_grpc/grpcwrapper/ydb_topic_test.py index b9e306034..78811a680 100644 --- a/ydb/_grpc/grpcwrapper/ydb_topic_test.py +++ b/ydb/_grpc/grpcwrapper/ydb_topic_test.py @@ -2,9 +2,10 @@ from google.protobuf.json_format import MessageToDict -from ydb._grpc.grpcwrapper.ydb_topic import OffsetsRange +from ydb._grpc.grpcwrapper.ydb_topic import OffsetsRange, ResetOffsetRequest from .ydb_topic import AlterTopicRequest from .ydb_topic_public_types import ( + PublicResetOffset, AlterTopicRequestParams, PublicAlterConsumer, PublicAlterAutoPartitioningSettings, @@ -96,3 +97,25 @@ def test_alter_topic_request_from_public_to_proto(): } assert msg_dict == expected_dict + + +def test_reset_offset_request_to_proto(): + earliest = ResetOffsetRequest(path="topic", consumer="consumer", to=PublicResetOffset.EARLIEST).to_proto() + assert earliest.path == "topic" + assert earliest.consumer == "consumer" + assert earliest.WhichOneof("position") == "earliest" + + latest = ResetOffsetRequest(path="topic", consumer="consumer", to=PublicResetOffset.LATEST).to_proto() + assert latest.WhichOneof("position") == "latest" + + written_at = datetime.datetime(2026, 1, 2, 3, 4, 5, tzinfo=datetime.timezone.utc) + stamped = ResetOffsetRequest(path="topic", consumer="consumer", to=written_at).to_proto() + assert stamped.WhichOneof("position") == "from_written_at" + assert stamped.from_written_at.written_at.ToSeconds() == int(written_at.timestamp()) + + try: + ResetOffsetRequest(path="topic", consumer="consumer", to="earliest") + except TypeError: + pass + else: + raise AssertionError("expected TypeError") diff --git a/ydb/_grpc/v3/protos/ydb_topic_pb2.py b/ydb/_grpc/v3/protos/ydb_topic_pb2.py index 5def696e4..a1f46d5ea 100644 --- a/ydb/_grpc/v3/protos/ydb_topic_pb2.py +++ b/ydb/_grpc/v3/protos/ydb_topic_pb2.py @@ -30,7 +30,7 @@ syntax='proto3', serialized_options=b'\n\024tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\370\001\001', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\xb2\xe6*\n[1; 19999]\x9a\xe6*\x02\x18\x64\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3' + serialized_pb=b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\xb2\xe6*\n[1; 19999]\x9a\xe6*\x02\x18\x64\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"\x8e\x03\n\x12ResetOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12:\n\x08\x65\x61rliest\x18\x04 \x01(\x0b\x32&.Ydb.Topic.ResetOffsetRequest.EarliestH\x00\x12\x36\n\x06latest\x18\x05 \x01(\x0b\x32$.Ydb.Topic.ResetOffsetRequest.LatestH\x00\x12\x46\n\x0f\x66rom_written_at\x18\x06 \x01(\x0b\x32+.Ydb.Topic.ResetOffsetRequest.FromWrittenAtH\x00\x1a\n\n\x08\x45\x61rliest\x1a\x08\n\x06Latest\x1a?\n\rFromWrittenAt\x12.\n\nwritten_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\n\x08position\"C\n\x13ResetOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11ResetOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3' , dependencies=[protos_dot_ydb__operation__pb2.DESCRIPTOR,protos_dot_ydb__scheme__pb2.DESCRIPTOR,protos_dot_ydb__status__codes__pb2.DESCRIPTOR,protos_dot_ydb__issue__message__pb2.DESCRIPTOR,protos_dot_annotations_dot_sensitive__pb2.DESCRIPTOR,protos_dot_annotations_dot_validation__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) @@ -74,8 +74,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=18862, - serialized_end=18993, + serialized_start=19353, + serialized_end=19484, ) _sym_db.RegisterEnumDescriptor(_CODEC) @@ -115,8 +115,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=18996, - serialized_end=19237, + serialized_start=19487, + serialized_end=19728, ) _sym_db.RegisterEnumDescriptor(_AUTOPARTITIONINGSTRATEGY) @@ -146,8 +146,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=19239, - serialized_end=19354, + serialized_start=19730, + serialized_end=19845, ) _sym_db.RegisterEnumDescriptor(_METERINGMODE) @@ -3112,6 +3112,214 @@ ) +_RESETOFFSETREQUEST_EARLIEST = _descriptor.Descriptor( + name='Earliest', + full_name='Ydb.Topic.ResetOffsetRequest.Earliest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10641, + serialized_end=10651, +) + +_RESETOFFSETREQUEST_LATEST = _descriptor.Descriptor( + name='Latest', + full_name='Ydb.Topic.ResetOffsetRequest.Latest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10653, + serialized_end=10661, +) + +_RESETOFFSETREQUEST_FROMWRITTENAT = _descriptor.Descriptor( + name='FromWrittenAt', + full_name='Ydb.Topic.ResetOffsetRequest.FromWrittenAt', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='written_at', full_name='Ydb.Topic.ResetOffsetRequest.FromWrittenAt.written_at', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10663, + serialized_end=10726, +) + +_RESETOFFSETREQUEST = _descriptor.Descriptor( + name='ResetOffsetRequest', + full_name='Ydb.Topic.ResetOffsetRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='operation_params', full_name='Ydb.Topic.ResetOffsetRequest.operation_params', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='path', full_name='Ydb.Topic.ResetOffsetRequest.path', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='consumer', full_name='Ydb.Topic.ResetOffsetRequest.consumer', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='earliest', full_name='Ydb.Topic.ResetOffsetRequest.earliest', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='latest', full_name='Ydb.Topic.ResetOffsetRequest.latest', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='from_written_at', full_name='Ydb.Topic.ResetOffsetRequest.from_written_at', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_RESETOFFSETREQUEST_EARLIEST, _RESETOFFSETREQUEST_LATEST, _RESETOFFSETREQUEST_FROMWRITTENAT, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='position', full_name='Ydb.Topic.ResetOffsetRequest.position', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=10340, + serialized_end=10738, +) + + +_RESETOFFSETRESPONSE = _descriptor.Descriptor( + name='ResetOffsetResponse', + full_name='Ydb.Topic.ResetOffsetResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='operation', full_name='Ydb.Topic.ResetOffsetResponse.operation', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10740, + serialized_end=10807, +) + + +_RESETOFFSETRESULT = _descriptor.Descriptor( + name='ResetOffsetResult', + full_name='Ydb.Topic.ResetOffsetResult', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10809, + serialized_end=10828, +) + + _MULTIPLEWINDOWSSTAT = _descriptor.Descriptor( name='MultipleWindowsStat', full_name='Ydb.Topic.MultipleWindowsStat', @@ -3153,8 +3361,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10339, - serialized_end=10415, + serialized_start=10830, + serialized_end=10906, ) @@ -3192,8 +3400,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10741, - serialized_end=10790, + serialized_start=11232, + serialized_end=11281, ) _CONSUMER_CONSUMERSTATS = _descriptor.Descriptor( @@ -3251,8 +3459,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10793, - serialized_end=11095, + serialized_start=11284, + serialized_end=11586, ) _CONSUMER = _descriptor.Descriptor( @@ -3329,8 +3537,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=10418, - serialized_end=11125, + serialized_start=10909, + serialized_end=11616, ) @@ -3368,8 +3576,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11492, - serialized_end=11546, + serialized_start=11983, + serialized_end=12037, ) _ALTERCONSUMER = _descriptor.Descriptor( @@ -3451,8 +3659,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=11128, - serialized_end=11600, + serialized_start=11619, + serialized_end=12091, ) @@ -3504,8 +3712,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11603, - serialized_end=11823, + serialized_start=12094, + serialized_end=12314, ) @@ -3543,8 +3751,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11826, - serialized_end=11985, + serialized_start=12317, + serialized_end=12476, ) @@ -3589,8 +3797,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11988, - serialized_end=12167, + serialized_start=12479, + serialized_end=12658, ) @@ -3662,8 +3870,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=12170, - serialized_end=12565, + serialized_start=12661, + serialized_end=13056, ) @@ -3711,8 +3919,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=12568, - serialized_end=12802, + serialized_start=13059, + serialized_end=13293, ) @@ -3772,8 +3980,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=12805, - serialized_end=13109, + serialized_start=13296, + serialized_end=13600, ) @@ -3811,8 +4019,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10741, - serialized_end=10790, + serialized_start=11232, + serialized_end=11281, ) _CREATETOPICREQUEST = _descriptor.Descriptor( @@ -3931,8 +4139,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=13112, - serialized_end=13825, + serialized_start=13603, + serialized_end=14316, ) @@ -3963,8 +4171,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13827, - serialized_end=13894, + serialized_start=14318, + serialized_end=14385, ) @@ -3988,8 +4196,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13896, - serialized_end=13915, + serialized_start=14387, + serialized_end=14406, ) @@ -4027,8 +4235,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13917, - serialized_end=13973, + serialized_start=14408, + serialized_end=14464, ) @@ -4080,8 +4288,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13976, - serialized_end=14120, + serialized_start=14467, + serialized_end=14611, ) @@ -4112,8 +4320,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14122, - serialized_end=14191, + serialized_start=14613, + serialized_end=14682, ) @@ -4161,8 +4369,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=14193, - serialized_end=14288, + serialized_start=14684, + serialized_end=14779, ) @@ -4200,8 +4408,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10741, - serialized_end=10790, + serialized_start=11232, + serialized_end=11281, ) _DESCRIBETOPICRESULT_PARTITIONINFO = _descriptor.Descriptor( @@ -4273,8 +4481,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15145, - serialized_end=15416, + serialized_start=15636, + serialized_end=15907, ) _DESCRIBETOPICRESULT_TOPICSTATS = _descriptor.Descriptor( @@ -4325,8 +4533,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15419, - serialized_end=15624, + serialized_start=15910, + serialized_end=16115, ) _DESCRIBETOPICRESULT = _descriptor.Descriptor( @@ -4466,8 +4674,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=14291, - serialized_end=15648, + serialized_start=14782, + serialized_end=16139, ) @@ -4526,8 +4734,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15651, - serialized_end=15821, + serialized_start=16142, + serialized_end=16312, ) @@ -4558,8 +4766,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15823, - serialized_end=15896, + serialized_start=16314, + serialized_end=16387, ) @@ -4590,8 +4798,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15898, - serialized_end=15988, + serialized_start=16389, + serialized_end=16479, ) @@ -4650,8 +4858,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15991, - serialized_end=16156, + serialized_start=16482, + serialized_end=16647, ) @@ -4682,8 +4890,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16158, - serialized_end=16230, + serialized_start=16649, + serialized_end=16721, ) @@ -4756,8 +4964,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16401, - serialized_end=16715, + serialized_start=16892, + serialized_end=17206, ) _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS = _descriptor.Descriptor( @@ -4857,8 +5065,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16718, - serialized_end=17212, + serialized_start=17209, + serialized_end=17703, ) _DESCRIBECONSUMERRESULT = _descriptor.Descriptor( @@ -4902,8 +5110,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16233, - serialized_end=17212, + serialized_start=16724, + serialized_end=17703, ) @@ -4969,8 +5177,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17215, - serialized_end=17503, + serialized_start=17706, + serialized_end=17994, ) @@ -5008,8 +5216,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11492, - serialized_end=11546, + serialized_start=11983, + serialized_end=12037, ) _ALTERTOPICREQUEST = _descriptor.Descriptor( @@ -5169,8 +5377,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=17506, - serialized_end=18592, + serialized_start=17997, + serialized_end=19083, ) @@ -5201,8 +5409,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18594, - serialized_end=18660, + serialized_start=19085, + serialized_end=19151, ) @@ -5226,8 +5434,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18662, - serialized_end=18680, + serialized_start=19153, + serialized_end=19171, ) @@ -5265,8 +5473,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18682, - serialized_end=18773, + serialized_start=19173, + serialized_end=19264, ) @@ -5297,8 +5505,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18775, - serialized_end=18840, + serialized_start=19266, + serialized_end=19331, ) @@ -5322,8 +5530,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18842, - serialized_end=18859, + serialized_start=19333, + serialized_end=19350, ) _STREAMWRITEMESSAGE_FROMCLIENT.fields_by_name['init_request'].message_type = _STREAMWRITEMESSAGE_INITREQUEST @@ -5592,6 +5800,24 @@ _UPDATEOFFSETSINTRANSACTIONRESPONSE.fields_by_name['operation'].message_type = protos_dot_ydb__operation__pb2._OPERATION _COMMITOFFSETREQUEST.fields_by_name['operation_params'].message_type = protos_dot_ydb__operation__pb2._OPERATIONPARAMS _COMMITOFFSETRESPONSE.fields_by_name['operation'].message_type = protos_dot_ydb__operation__pb2._OPERATION +_RESETOFFSETREQUEST_EARLIEST.containing_type = _RESETOFFSETREQUEST +_RESETOFFSETREQUEST_LATEST.containing_type = _RESETOFFSETREQUEST +_RESETOFFSETREQUEST_FROMWRITTENAT.fields_by_name['written_at'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_RESETOFFSETREQUEST_FROMWRITTENAT.containing_type = _RESETOFFSETREQUEST +_RESETOFFSETREQUEST.fields_by_name['operation_params'].message_type = protos_dot_ydb__operation__pb2._OPERATIONPARAMS +_RESETOFFSETREQUEST.fields_by_name['earliest'].message_type = _RESETOFFSETREQUEST_EARLIEST +_RESETOFFSETREQUEST.fields_by_name['latest'].message_type = _RESETOFFSETREQUEST_LATEST +_RESETOFFSETREQUEST.fields_by_name['from_written_at'].message_type = _RESETOFFSETREQUEST_FROMWRITTENAT +_RESETOFFSETREQUEST.oneofs_by_name['position'].fields.append( + _RESETOFFSETREQUEST.fields_by_name['earliest']) +_RESETOFFSETREQUEST.fields_by_name['earliest'].containing_oneof = _RESETOFFSETREQUEST.oneofs_by_name['position'] +_RESETOFFSETREQUEST.oneofs_by_name['position'].fields.append( + _RESETOFFSETREQUEST.fields_by_name['latest']) +_RESETOFFSETREQUEST.fields_by_name['latest'].containing_oneof = _RESETOFFSETREQUEST.oneofs_by_name['position'] +_RESETOFFSETREQUEST.oneofs_by_name['position'].fields.append( + _RESETOFFSETREQUEST.fields_by_name['from_written_at']) +_RESETOFFSETREQUEST.fields_by_name['from_written_at'].containing_oneof = _RESETOFFSETREQUEST.oneofs_by_name['position'] +_RESETOFFSETRESPONSE.fields_by_name['operation'].message_type = protos_dot_ydb__operation__pb2._OPERATION _CONSUMER_ATTRIBUTESENTRY.containing_type = _CONSUMER _CONSUMER_CONSUMERSTATS.fields_by_name['min_partitions_last_read_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _CONSUMER_CONSUMERSTATS.fields_by_name['max_read_time_lag'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION @@ -5768,6 +5994,9 @@ DESCRIPTOR.message_types_by_name['CommitOffsetRequest'] = _COMMITOFFSETREQUEST DESCRIPTOR.message_types_by_name['CommitOffsetResponse'] = _COMMITOFFSETRESPONSE DESCRIPTOR.message_types_by_name['CommitOffsetResult'] = _COMMITOFFSETRESULT +DESCRIPTOR.message_types_by_name['ResetOffsetRequest'] = _RESETOFFSETREQUEST +DESCRIPTOR.message_types_by_name['ResetOffsetResponse'] = _RESETOFFSETRESPONSE +DESCRIPTOR.message_types_by_name['ResetOffsetResult'] = _RESETOFFSETRESULT DESCRIPTOR.message_types_by_name['MultipleWindowsStat'] = _MULTIPLEWINDOWSSTAT DESCRIPTOR.message_types_by_name['Consumer'] = _CONSUMER DESCRIPTOR.message_types_by_name['AlterConsumer'] = _ALTERCONSUMER @@ -6307,6 +6536,51 @@ }) _sym_db.RegisterMessage(CommitOffsetResult) +ResetOffsetRequest = _reflection.GeneratedProtocolMessageType('ResetOffsetRequest', (_message.Message,), { + + 'Earliest' : _reflection.GeneratedProtocolMessageType('Earliest', (_message.Message,), { + 'DESCRIPTOR' : _RESETOFFSETREQUEST_EARLIEST, + '__module__' : 'protos.ydb_topic_pb2' + # @@protoc_insertion_point(class_scope:Ydb.Topic.ResetOffsetRequest.Earliest) + }) + , + + 'Latest' : _reflection.GeneratedProtocolMessageType('Latest', (_message.Message,), { + 'DESCRIPTOR' : _RESETOFFSETREQUEST_LATEST, + '__module__' : 'protos.ydb_topic_pb2' + # @@protoc_insertion_point(class_scope:Ydb.Topic.ResetOffsetRequest.Latest) + }) + , + + 'FromWrittenAt' : _reflection.GeneratedProtocolMessageType('FromWrittenAt', (_message.Message,), { + 'DESCRIPTOR' : _RESETOFFSETREQUEST_FROMWRITTENAT, + '__module__' : 'protos.ydb_topic_pb2' + # @@protoc_insertion_point(class_scope:Ydb.Topic.ResetOffsetRequest.FromWrittenAt) + }) + , + 'DESCRIPTOR' : _RESETOFFSETREQUEST, + '__module__' : 'protos.ydb_topic_pb2' + # @@protoc_insertion_point(class_scope:Ydb.Topic.ResetOffsetRequest) + }) +_sym_db.RegisterMessage(ResetOffsetRequest) +_sym_db.RegisterMessage(ResetOffsetRequest.Earliest) +_sym_db.RegisterMessage(ResetOffsetRequest.Latest) +_sym_db.RegisterMessage(ResetOffsetRequest.FromWrittenAt) + +ResetOffsetResponse = _reflection.GeneratedProtocolMessageType('ResetOffsetResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESETOFFSETRESPONSE, + '__module__' : 'protos.ydb_topic_pb2' + # @@protoc_insertion_point(class_scope:Ydb.Topic.ResetOffsetResponse) + }) +_sym_db.RegisterMessage(ResetOffsetResponse) + +ResetOffsetResult = _reflection.GeneratedProtocolMessageType('ResetOffsetResult', (_message.Message,), { + 'DESCRIPTOR' : _RESETOFFSETRESULT, + '__module__' : 'protos.ydb_topic_pb2' + # @@protoc_insertion_point(class_scope:Ydb.Topic.ResetOffsetResult) + }) +_sym_db.RegisterMessage(ResetOffsetResult) + MultipleWindowsStat = _reflection.GeneratedProtocolMessageType('MultipleWindowsStat', (_message.Message,), { 'DESCRIPTOR' : _MULTIPLEWINDOWSSTAT, '__module__' : 'protos.ydb_topic_pb2' diff --git a/ydb/_grpc/v3/ydb_topic_v1_pb2.py b/ydb/_grpc/v3/ydb_topic_v1_pb2.py index be97258ab..8f2d02c93 100644 --- a/ydb/_grpc/v3/ydb_topic_v1_pb2.py +++ b/ydb/_grpc/v3/ydb_topic_v1_pb2.py @@ -21,7 +21,7 @@ syntax='proto3', serialized_options=b'\n\027tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\370\001\001', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\xb7\x06\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3' + serialized_pb=b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\x85\x07\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12L\n\x0bResetOffset\x12\x1d.Ydb.Topic.ResetOffsetRequest\x1a\x1e.Ydb.Topic.ResetOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3' , dependencies=[protos_dot_ydb__topic__pb2.DESCRIPTOR,]) @@ -40,7 +40,7 @@ serialized_options=None, create_key=_descriptor._internal_create_key, serialized_start=61, - serialized_end=884, + serialized_end=962, methods=[ _descriptor.MethodDescriptor( name='StreamWrite', @@ -72,10 +72,20 @@ serialized_options=None, create_key=_descriptor._internal_create_key, ), + _descriptor.MethodDescriptor( + name='ResetOffset', + full_name='Ydb.Topic.V1.TopicService.ResetOffset', + index=3, + containing_service=None, + input_type=protos_dot_ydb__topic__pb2._RESETOFFSETREQUEST, + output_type=protos_dot_ydb__topic__pb2._RESETOFFSETRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), _descriptor.MethodDescriptor( name='UpdateOffsetsInTransaction', full_name='Ydb.Topic.V1.TopicService.UpdateOffsetsInTransaction', - index=3, + index=4, containing_service=None, input_type=protos_dot_ydb__topic__pb2._UPDATEOFFSETSINTRANSACTIONREQUEST, output_type=protos_dot_ydb__topic__pb2._UPDATEOFFSETSINTRANSACTIONRESPONSE, @@ -85,7 +95,7 @@ _descriptor.MethodDescriptor( name='CreateTopic', full_name='Ydb.Topic.V1.TopicService.CreateTopic', - index=4, + index=5, containing_service=None, input_type=protos_dot_ydb__topic__pb2._CREATETOPICREQUEST, output_type=protos_dot_ydb__topic__pb2._CREATETOPICRESPONSE, @@ -95,7 +105,7 @@ _descriptor.MethodDescriptor( name='DescribeTopic', full_name='Ydb.Topic.V1.TopicService.DescribeTopic', - index=5, + index=6, containing_service=None, input_type=protos_dot_ydb__topic__pb2._DESCRIBETOPICREQUEST, output_type=protos_dot_ydb__topic__pb2._DESCRIBETOPICRESPONSE, @@ -105,7 +115,7 @@ _descriptor.MethodDescriptor( name='DescribeConsumer', full_name='Ydb.Topic.V1.TopicService.DescribeConsumer', - index=6, + index=7, containing_service=None, input_type=protos_dot_ydb__topic__pb2._DESCRIBECONSUMERREQUEST, output_type=protos_dot_ydb__topic__pb2._DESCRIBECONSUMERRESPONSE, @@ -115,7 +125,7 @@ _descriptor.MethodDescriptor( name='AlterTopic', full_name='Ydb.Topic.V1.TopicService.AlterTopic', - index=7, + index=8, containing_service=None, input_type=protos_dot_ydb__topic__pb2._ALTERTOPICREQUEST, output_type=protos_dot_ydb__topic__pb2._ALTERTOPICRESPONSE, @@ -125,7 +135,7 @@ _descriptor.MethodDescriptor( name='DropTopic', full_name='Ydb.Topic.V1.TopicService.DropTopic', - index=8, + index=9, containing_service=None, input_type=protos_dot_ydb__topic__pb2._DROPTOPICREQUEST, output_type=protos_dot_ydb__topic__pb2._DROPTOPICRESPONSE, diff --git a/ydb/_grpc/v3/ydb_topic_v1_pb2_grpc.py b/ydb/_grpc/v3/ydb_topic_v1_pb2_grpc.py index 4ba16bd63..358dd12a2 100644 --- a/ydb/_grpc/v3/ydb_topic_v1_pb2_grpc.py +++ b/ydb/_grpc/v3/ydb_topic_v1_pb2_grpc.py @@ -29,6 +29,11 @@ def __init__(self, channel): request_serializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.SerializeToString, response_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.FromString, ) + self.ResetOffset = channel.unary_unary( + '/Ydb.Topic.V1.TopicService/ResetOffset', + request_serializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + response_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + ) self.UpdateOffsetsInTransaction = channel.unary_unary( '/Ydb.Topic.V1.TopicService/UpdateOffsetsInTransaction', request_serializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.SerializeToString, @@ -106,7 +111,7 @@ def StreamRead(self, request_iterator, context): StartPartitionSessionRequest(Topic2, Partition2, PartitionSessionID2, ...) <---------------- StartPartitionSessionResponse(PartitionSessionID1, ...) - client must respond with this message to actually start receiving data messages from this partition + client must respond with this message to actually start recieving data messages from this partition ----------------> StopPartitionSessionRequest(PartitionSessionID1, ...) <---------------- @@ -135,6 +140,15 @@ def CommitOffset(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ResetOffset(self, request, context): + """Reset committed offsets for a consumer on all topic partitions (including inactive). + Each partition is updated independently (not atomic across partitions). + Drops any active read session for this consumer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def UpdateOffsetsInTransaction(self, request, context): """Add information about offset ranges to the transaction. """ @@ -195,6 +209,11 @@ def add_TopicServiceServicer_to_server(servicer, server): request_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.FromString, response_serializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.SerializeToString, ), + 'ResetOffset': grpc.unary_unary_rpc_method_handler( + servicer.ResetOffset, + request_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.FromString, + response_serializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.SerializeToString, + ), 'UpdateOffsetsInTransaction': grpc.unary_unary_rpc_method_handler( servicer.UpdateOffsetsInTransaction, request_deserializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.FromString, @@ -286,6 +305,23 @@ def CommitOffset(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def ResetOffset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/Ydb.Topic.V1.TopicService/ResetOffset', + protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def UpdateOffsetsInTransaction(request, target, diff --git a/ydb/_grpc/v4/protos/ydb_topic_pb2.py b/ydb/_grpc/v4/protos/ydb_topic_pb2.py index fd4f181e1..2d620250b 100644 --- a/ydb/_grpc/v4/protos/ydb_topic_pb2.py +++ b/ydb/_grpc/v4/protos/ydb_topic_pb2.py @@ -23,7 +23,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\xb2\xe6*\n[1; 19999]\x9a\xe6*\x02\x18\x64\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\xb2\xe6*\n[1; 19999]\x9a\xe6*\x02\x18\x64\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"\x8e\x03\n\x12ResetOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12:\n\x08\x65\x61rliest\x18\x04 \x01(\x0b\x32&.Ydb.Topic.ResetOffsetRequest.EarliestH\x00\x12\x36\n\x06latest\x18\x05 \x01(\x0b\x32$.Ydb.Topic.ResetOffsetRequest.LatestH\x00\x12\x46\n\x0f\x66rom_written_at\x18\x06 \x01(\x0b\x32+.Ydb.Topic.ResetOffsetRequest.FromWrittenAtH\x00\x1a\n\n\x08\x45\x61rliest\x1a\x08\n\x06Latest\x1a?\n\rFromWrittenAt\x12.\n\nwritten_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\n\x08position\"C\n\x13ResetOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11ResetOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.ydb_topic_pb2', globals()) @@ -103,12 +103,12 @@ _ALTERTOPICREQUEST.fields_by_name['drop_consumers']._serialized_options = b'\232\346*\003\030\270\027' _ALTERTOPICREQUEST.fields_by_name['alter_consumers']._options = None _ALTERTOPICREQUEST.fields_by_name['alter_consumers']._serialized_options = b'\232\346*\003\030\270\027' - _CODEC._serialized_start=18862 - _CODEC._serialized_end=18993 - _AUTOPARTITIONINGSTRATEGY._serialized_start=18996 - _AUTOPARTITIONINGSTRATEGY._serialized_end=19237 - _METERINGMODE._serialized_start=19239 - _METERINGMODE._serialized_end=19354 + _CODEC._serialized_start=19353 + _CODEC._serialized_end=19484 + _AUTOPARTITIONINGSTRATEGY._serialized_start=19487 + _AUTOPARTITIONINGSTRATEGY._serialized_end=19728 + _METERINGMODE._serialized_start=19730 + _METERINGMODE._serialized_end=19845 _SUPPORTEDCODECS._serialized_start=320 _SUPPORTEDCODECS._serialized_end=375 _OFFSETSRANGE._serialized_start=377 @@ -241,84 +241,96 @@ _COMMITOFFSETRESPONSE._serialized_end=10315 _COMMITOFFSETRESULT._serialized_start=10317 _COMMITOFFSETRESULT._serialized_end=10337 - _MULTIPLEWINDOWSSTAT._serialized_start=10339 - _MULTIPLEWINDOWSSTAT._serialized_end=10415 - _CONSUMER._serialized_start=10418 - _CONSUMER._serialized_end=11125 - _CONSUMER_ATTRIBUTESENTRY._serialized_start=10741 - _CONSUMER_ATTRIBUTESENTRY._serialized_end=10790 - _CONSUMER_CONSUMERSTATS._serialized_start=10793 - _CONSUMER_CONSUMERSTATS._serialized_end=11095 - _ALTERCONSUMER._serialized_start=11128 - _ALTERCONSUMER._serialized_end=11600 - _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_start=11492 - _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_end=11546 - _PARTITIONINGSETTINGS._serialized_start=11603 - _PARTITIONINGSETTINGS._serialized_end=11823 - _AUTOPARTITIONINGSETTINGS._serialized_start=11826 - _AUTOPARTITIONINGSETTINGS._serialized_end=11985 - _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=11988 - _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=12167 - _ALTERPARTITIONINGSETTINGS._serialized_start=12170 - _ALTERPARTITIONINGSETTINGS._serialized_end=12565 - _ALTERAUTOPARTITIONINGSETTINGS._serialized_start=12568 - _ALTERAUTOPARTITIONINGSETTINGS._serialized_end=12802 - _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=12805 - _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=13109 - _CREATETOPICREQUEST._serialized_start=13112 - _CREATETOPICREQUEST._serialized_end=13825 - _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_start=10741 - _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_end=10790 - _CREATETOPICRESPONSE._serialized_start=13827 - _CREATETOPICRESPONSE._serialized_end=13894 - _CREATETOPICRESULT._serialized_start=13896 - _CREATETOPICRESULT._serialized_end=13915 - _PARTITIONLOCATION._serialized_start=13917 - _PARTITIONLOCATION._serialized_end=13973 - _DESCRIBETOPICREQUEST._serialized_start=13976 - _DESCRIBETOPICREQUEST._serialized_end=14120 - _DESCRIBETOPICRESPONSE._serialized_start=14122 - _DESCRIBETOPICRESPONSE._serialized_end=14191 - _PARTITIONKEYRANGE._serialized_start=14193 - _PARTITIONKEYRANGE._serialized_end=14288 - _DESCRIBETOPICRESULT._serialized_start=14291 - _DESCRIBETOPICRESULT._serialized_end=15648 - _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_start=10741 - _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_end=10790 - _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_start=15145 - _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_end=15416 - _DESCRIBETOPICRESULT_TOPICSTATS._serialized_start=15419 - _DESCRIBETOPICRESULT_TOPICSTATS._serialized_end=15624 - _DESCRIBEPARTITIONREQUEST._serialized_start=15651 - _DESCRIBEPARTITIONREQUEST._serialized_end=15821 - _DESCRIBEPARTITIONRESPONSE._serialized_start=15823 - _DESCRIBEPARTITIONRESPONSE._serialized_end=15896 - _DESCRIBEPARTITIONRESULT._serialized_start=15898 - _DESCRIBEPARTITIONRESULT._serialized_end=15988 - _DESCRIBECONSUMERREQUEST._serialized_start=15991 - _DESCRIBECONSUMERREQUEST._serialized_end=16156 - _DESCRIBECONSUMERRESPONSE._serialized_start=16158 - _DESCRIBECONSUMERRESPONSE._serialized_end=16230 - _DESCRIBECONSUMERRESULT._serialized_start=16233 - _DESCRIBECONSUMERRESULT._serialized_end=17212 - _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_start=16401 - _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_end=16715 - _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_start=16718 - _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_end=17212 - _PARTITIONSTATS._serialized_start=17215 - _PARTITIONSTATS._serialized_end=17503 - _ALTERTOPICREQUEST._serialized_start=17506 - _ALTERTOPICREQUEST._serialized_end=18592 - _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_start=11492 - _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_end=11546 - _ALTERTOPICRESPONSE._serialized_start=18594 - _ALTERTOPICRESPONSE._serialized_end=18660 - _ALTERTOPICRESULT._serialized_start=18662 - _ALTERTOPICRESULT._serialized_end=18680 - _DROPTOPICREQUEST._serialized_start=18682 - _DROPTOPICREQUEST._serialized_end=18773 - _DROPTOPICRESPONSE._serialized_start=18775 - _DROPTOPICRESPONSE._serialized_end=18840 - _DROPTOPICRESULT._serialized_start=18842 - _DROPTOPICRESULT._serialized_end=18859 + _RESETOFFSETREQUEST._serialized_start=10340 + _RESETOFFSETREQUEST._serialized_end=10738 + _RESETOFFSETREQUEST_EARLIEST._serialized_start=10641 + _RESETOFFSETREQUEST_EARLIEST._serialized_end=10651 + _RESETOFFSETREQUEST_LATEST._serialized_start=10653 + _RESETOFFSETREQUEST_LATEST._serialized_end=10661 + _RESETOFFSETREQUEST_FROMWRITTENAT._serialized_start=10663 + _RESETOFFSETREQUEST_FROMWRITTENAT._serialized_end=10726 + _RESETOFFSETRESPONSE._serialized_start=10740 + _RESETOFFSETRESPONSE._serialized_end=10807 + _RESETOFFSETRESULT._serialized_start=10809 + _RESETOFFSETRESULT._serialized_end=10828 + _MULTIPLEWINDOWSSTAT._serialized_start=10830 + _MULTIPLEWINDOWSSTAT._serialized_end=10906 + _CONSUMER._serialized_start=10909 + _CONSUMER._serialized_end=11616 + _CONSUMER_ATTRIBUTESENTRY._serialized_start=11232 + _CONSUMER_ATTRIBUTESENTRY._serialized_end=11281 + _CONSUMER_CONSUMERSTATS._serialized_start=11284 + _CONSUMER_CONSUMERSTATS._serialized_end=11586 + _ALTERCONSUMER._serialized_start=11619 + _ALTERCONSUMER._serialized_end=12091 + _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_start=11983 + _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_end=12037 + _PARTITIONINGSETTINGS._serialized_start=12094 + _PARTITIONINGSETTINGS._serialized_end=12314 + _AUTOPARTITIONINGSETTINGS._serialized_start=12317 + _AUTOPARTITIONINGSETTINGS._serialized_end=12476 + _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=12479 + _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=12658 + _ALTERPARTITIONINGSETTINGS._serialized_start=12661 + _ALTERPARTITIONINGSETTINGS._serialized_end=13056 + _ALTERAUTOPARTITIONINGSETTINGS._serialized_start=13059 + _ALTERAUTOPARTITIONINGSETTINGS._serialized_end=13293 + _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=13296 + _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=13600 + _CREATETOPICREQUEST._serialized_start=13603 + _CREATETOPICREQUEST._serialized_end=14316 + _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_start=11232 + _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_end=11281 + _CREATETOPICRESPONSE._serialized_start=14318 + _CREATETOPICRESPONSE._serialized_end=14385 + _CREATETOPICRESULT._serialized_start=14387 + _CREATETOPICRESULT._serialized_end=14406 + _PARTITIONLOCATION._serialized_start=14408 + _PARTITIONLOCATION._serialized_end=14464 + _DESCRIBETOPICREQUEST._serialized_start=14467 + _DESCRIBETOPICREQUEST._serialized_end=14611 + _DESCRIBETOPICRESPONSE._serialized_start=14613 + _DESCRIBETOPICRESPONSE._serialized_end=14682 + _PARTITIONKEYRANGE._serialized_start=14684 + _PARTITIONKEYRANGE._serialized_end=14779 + _DESCRIBETOPICRESULT._serialized_start=14782 + _DESCRIBETOPICRESULT._serialized_end=16139 + _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_start=11232 + _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_end=11281 + _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_start=15636 + _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_end=15907 + _DESCRIBETOPICRESULT_TOPICSTATS._serialized_start=15910 + _DESCRIBETOPICRESULT_TOPICSTATS._serialized_end=16115 + _DESCRIBEPARTITIONREQUEST._serialized_start=16142 + _DESCRIBEPARTITIONREQUEST._serialized_end=16312 + _DESCRIBEPARTITIONRESPONSE._serialized_start=16314 + _DESCRIBEPARTITIONRESPONSE._serialized_end=16387 + _DESCRIBEPARTITIONRESULT._serialized_start=16389 + _DESCRIBEPARTITIONRESULT._serialized_end=16479 + _DESCRIBECONSUMERREQUEST._serialized_start=16482 + _DESCRIBECONSUMERREQUEST._serialized_end=16647 + _DESCRIBECONSUMERRESPONSE._serialized_start=16649 + _DESCRIBECONSUMERRESPONSE._serialized_end=16721 + _DESCRIBECONSUMERRESULT._serialized_start=16724 + _DESCRIBECONSUMERRESULT._serialized_end=17703 + _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_start=16892 + _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_end=17206 + _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_start=17209 + _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_end=17703 + _PARTITIONSTATS._serialized_start=17706 + _PARTITIONSTATS._serialized_end=17994 + _ALTERTOPICREQUEST._serialized_start=17997 + _ALTERTOPICREQUEST._serialized_end=19083 + _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_start=11983 + _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_end=12037 + _ALTERTOPICRESPONSE._serialized_start=19085 + _ALTERTOPICRESPONSE._serialized_end=19151 + _ALTERTOPICRESULT._serialized_start=19153 + _ALTERTOPICRESULT._serialized_end=19171 + _DROPTOPICREQUEST._serialized_start=19173 + _DROPTOPICREQUEST._serialized_end=19264 + _DROPTOPICRESPONSE._serialized_start=19266 + _DROPTOPICRESPONSE._serialized_end=19331 + _DROPTOPICRESULT._serialized_start=19333 + _DROPTOPICRESULT._serialized_end=19350 # @@protoc_insertion_point(module_scope) diff --git a/ydb/_grpc/v4/protos/ydb_topic_pb2.pyi b/ydb/_grpc/v4/protos/ydb_topic_pb2.pyi index 91f0c1012..3040f01d8 100644 --- a/ydb/_grpc/v4/protos/ydb_topic_pb2.pyi +++ b/ydb/_grpc/v4/protos/ydb_topic_pb2.pyi @@ -549,6 +549,43 @@ class PartitioningSettings(_message.Message): partition_count_limit: int def __init__(self, min_active_partitions: _Optional[int] = ..., max_active_partitions: _Optional[int] = ..., partition_count_limit: _Optional[int] = ..., auto_partitioning_settings: _Optional[_Union[AutoPartitioningSettings, _Mapping]] = ...) -> None: ... +class ResetOffsetRequest(_message.Message): + __slots__ = ["consumer", "earliest", "from_written_at", "latest", "operation_params", "path"] + class Earliest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + class FromWrittenAt(_message.Message): + __slots__ = ["written_at"] + WRITTEN_AT_FIELD_NUMBER: _ClassVar[int] + written_at: _timestamp_pb2.Timestamp + def __init__(self, written_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class Latest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + CONSUMER_FIELD_NUMBER: _ClassVar[int] + EARLIEST_FIELD_NUMBER: _ClassVar[int] + FROM_WRITTEN_AT_FIELD_NUMBER: _ClassVar[int] + LATEST_FIELD_NUMBER: _ClassVar[int] + OPERATION_PARAMS_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + consumer: str + earliest: ResetOffsetRequest.Earliest + from_written_at: ResetOffsetRequest.FromWrittenAt + latest: ResetOffsetRequest.Latest + operation_params: _ydb_operation_pb2.OperationParams + path: str + def __init__(self, operation_params: _Optional[_Union[_ydb_operation_pb2.OperationParams, _Mapping]] = ..., path: _Optional[str] = ..., consumer: _Optional[str] = ..., earliest: _Optional[_Union[ResetOffsetRequest.Earliest, _Mapping]] = ..., latest: _Optional[_Union[ResetOffsetRequest.Latest, _Mapping]] = ..., from_written_at: _Optional[_Union[ResetOffsetRequest.FromWrittenAt, _Mapping]] = ...) -> None: ... + +class ResetOffsetResponse(_message.Message): + __slots__ = ["operation"] + OPERATION_FIELD_NUMBER: _ClassVar[int] + operation: _ydb_operation_pb2.Operation + def __init__(self, operation: _Optional[_Union[_ydb_operation_pb2.Operation, _Mapping]] = ...) -> None: ... + +class ResetOffsetResult(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + class StreamDirectReadMessage(_message.Message): __slots__ = [] class DirectReadResponse(_message.Message): diff --git a/ydb/_grpc/v4/ydb_topic_v1_pb2.py b/ydb/_grpc/v4/ydb_topic_v1_pb2.py index 919ea7a33..712daff46 100644 --- a/ydb/_grpc/v4/ydb_topic_v1_pb2.py +++ b/ydb/_grpc/v4/ydb_topic_v1_pb2.py @@ -15,7 +15,7 @@ from ydb._grpc.v4.protos import ydb_topic_pb2 as protos_dot_ydb__topic__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\xb7\x06\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\x85\x07\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12L\n\x0bResetOffset\x12\x1d.Ydb.Topic.ResetOffsetRequest\x1a\x1e.Ydb.Topic.ResetOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ydb_topic_v1_pb2', globals()) @@ -24,5 +24,5 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\027tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\370\001\001' _TOPICSERVICE._serialized_start=61 - _TOPICSERVICE._serialized_end=884 + _TOPICSERVICE._serialized_end=962 # @@protoc_insertion_point(module_scope) diff --git a/ydb/_grpc/v4/ydb_topic_v1_pb2_grpc.py b/ydb/_grpc/v4/ydb_topic_v1_pb2_grpc.py index 04fc32b39..90d8b7d33 100644 --- a/ydb/_grpc/v4/ydb_topic_v1_pb2_grpc.py +++ b/ydb/_grpc/v4/ydb_topic_v1_pb2_grpc.py @@ -29,6 +29,11 @@ def __init__(self, channel): request_serializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.SerializeToString, response_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.FromString, ) + self.ResetOffset = channel.unary_unary( + '/Ydb.Topic.V1.TopicService/ResetOffset', + request_serializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + response_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + ) self.UpdateOffsetsInTransaction = channel.unary_unary( '/Ydb.Topic.V1.TopicService/UpdateOffsetsInTransaction', request_serializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.SerializeToString, @@ -106,7 +111,7 @@ def StreamRead(self, request_iterator, context): StartPartitionSessionRequest(Topic2, Partition2, PartitionSessionID2, ...) <---------------- StartPartitionSessionResponse(PartitionSessionID1, ...) - client must respond with this message to actually start receiving data messages from this partition + client must respond with this message to actually start recieving data messages from this partition ----------------> StopPartitionSessionRequest(PartitionSessionID1, ...) <---------------- @@ -135,6 +140,15 @@ def CommitOffset(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ResetOffset(self, request, context): + """Reset committed offsets for a consumer on all topic partitions (including inactive). + Each partition is updated independently (not atomic across partitions). + Drops any active read session for this consumer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def UpdateOffsetsInTransaction(self, request, context): """Add information about offset ranges to the transaction. """ @@ -195,6 +209,11 @@ def add_TopicServiceServicer_to_server(servicer, server): request_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.FromString, response_serializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.SerializeToString, ), + 'ResetOffset': grpc.unary_unary_rpc_method_handler( + servicer.ResetOffset, + request_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.FromString, + response_serializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.SerializeToString, + ), 'UpdateOffsetsInTransaction': grpc.unary_unary_rpc_method_handler( servicer.UpdateOffsetsInTransaction, request_deserializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.FromString, @@ -286,6 +305,23 @@ def CommitOffset(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def ResetOffset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/Ydb.Topic.V1.TopicService/ResetOffset', + protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def UpdateOffsetsInTransaction(request, target, diff --git a/ydb/_grpc/v5/protos/ydb_topic_pb2.py b/ydb/_grpc/v5/protos/ydb_topic_pb2.py index 6feabfb1e..2f48ab471 100644 --- a/ydb/_grpc/v5/protos/ydb_topic_pb2.py +++ b/ydb/_grpc/v5/protos/ydb_topic_pb2.py @@ -23,7 +23,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\xb2\xe6*\n[1; 19999]\x9a\xe6*\x02\x18\x64\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\xb2\xe6*\n[1; 19999]\x9a\xe6*\x02\x18\x64\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"\x8e\x03\n\x12ResetOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12:\n\x08\x65\x61rliest\x18\x04 \x01(\x0b\x32&.Ydb.Topic.ResetOffsetRequest.EarliestH\x00\x12\x36\n\x06latest\x18\x05 \x01(\x0b\x32$.Ydb.Topic.ResetOffsetRequest.LatestH\x00\x12\x46\n\x0f\x66rom_written_at\x18\x06 \x01(\x0b\x32+.Ydb.Topic.ResetOffsetRequest.FromWrittenAtH\x00\x1a\n\n\x08\x45\x61rliest\x1a\x08\n\x06Latest\x1a?\n\rFromWrittenAt\x12.\n\nwritten_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\n\x08position\"C\n\x13ResetOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11ResetOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.ydb_topic_pb2', globals()) @@ -103,12 +103,12 @@ _ALTERTOPICREQUEST.fields_by_name['drop_consumers']._serialized_options = b'\232\346*\003\030\270\027' _ALTERTOPICREQUEST.fields_by_name['alter_consumers']._options = None _ALTERTOPICREQUEST.fields_by_name['alter_consumers']._serialized_options = b'\232\346*\003\030\270\027' - _CODEC._serialized_start=18862 - _CODEC._serialized_end=18993 - _AUTOPARTITIONINGSTRATEGY._serialized_start=18996 - _AUTOPARTITIONINGSTRATEGY._serialized_end=19237 - _METERINGMODE._serialized_start=19239 - _METERINGMODE._serialized_end=19354 + _CODEC._serialized_start=19353 + _CODEC._serialized_end=19484 + _AUTOPARTITIONINGSTRATEGY._serialized_start=19487 + _AUTOPARTITIONINGSTRATEGY._serialized_end=19728 + _METERINGMODE._serialized_start=19730 + _METERINGMODE._serialized_end=19845 _SUPPORTEDCODECS._serialized_start=320 _SUPPORTEDCODECS._serialized_end=375 _OFFSETSRANGE._serialized_start=377 @@ -241,84 +241,96 @@ _COMMITOFFSETRESPONSE._serialized_end=10315 _COMMITOFFSETRESULT._serialized_start=10317 _COMMITOFFSETRESULT._serialized_end=10337 - _MULTIPLEWINDOWSSTAT._serialized_start=10339 - _MULTIPLEWINDOWSSTAT._serialized_end=10415 - _CONSUMER._serialized_start=10418 - _CONSUMER._serialized_end=11125 - _CONSUMER_ATTRIBUTESENTRY._serialized_start=10741 - _CONSUMER_ATTRIBUTESENTRY._serialized_end=10790 - _CONSUMER_CONSUMERSTATS._serialized_start=10793 - _CONSUMER_CONSUMERSTATS._serialized_end=11095 - _ALTERCONSUMER._serialized_start=11128 - _ALTERCONSUMER._serialized_end=11600 - _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_start=11492 - _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_end=11546 - _PARTITIONINGSETTINGS._serialized_start=11603 - _PARTITIONINGSETTINGS._serialized_end=11823 - _AUTOPARTITIONINGSETTINGS._serialized_start=11826 - _AUTOPARTITIONINGSETTINGS._serialized_end=11985 - _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=11988 - _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=12167 - _ALTERPARTITIONINGSETTINGS._serialized_start=12170 - _ALTERPARTITIONINGSETTINGS._serialized_end=12565 - _ALTERAUTOPARTITIONINGSETTINGS._serialized_start=12568 - _ALTERAUTOPARTITIONINGSETTINGS._serialized_end=12802 - _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=12805 - _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=13109 - _CREATETOPICREQUEST._serialized_start=13112 - _CREATETOPICREQUEST._serialized_end=13825 - _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_start=10741 - _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_end=10790 - _CREATETOPICRESPONSE._serialized_start=13827 - _CREATETOPICRESPONSE._serialized_end=13894 - _CREATETOPICRESULT._serialized_start=13896 - _CREATETOPICRESULT._serialized_end=13915 - _PARTITIONLOCATION._serialized_start=13917 - _PARTITIONLOCATION._serialized_end=13973 - _DESCRIBETOPICREQUEST._serialized_start=13976 - _DESCRIBETOPICREQUEST._serialized_end=14120 - _DESCRIBETOPICRESPONSE._serialized_start=14122 - _DESCRIBETOPICRESPONSE._serialized_end=14191 - _PARTITIONKEYRANGE._serialized_start=14193 - _PARTITIONKEYRANGE._serialized_end=14288 - _DESCRIBETOPICRESULT._serialized_start=14291 - _DESCRIBETOPICRESULT._serialized_end=15648 - _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_start=10741 - _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_end=10790 - _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_start=15145 - _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_end=15416 - _DESCRIBETOPICRESULT_TOPICSTATS._serialized_start=15419 - _DESCRIBETOPICRESULT_TOPICSTATS._serialized_end=15624 - _DESCRIBEPARTITIONREQUEST._serialized_start=15651 - _DESCRIBEPARTITIONREQUEST._serialized_end=15821 - _DESCRIBEPARTITIONRESPONSE._serialized_start=15823 - _DESCRIBEPARTITIONRESPONSE._serialized_end=15896 - _DESCRIBEPARTITIONRESULT._serialized_start=15898 - _DESCRIBEPARTITIONRESULT._serialized_end=15988 - _DESCRIBECONSUMERREQUEST._serialized_start=15991 - _DESCRIBECONSUMERREQUEST._serialized_end=16156 - _DESCRIBECONSUMERRESPONSE._serialized_start=16158 - _DESCRIBECONSUMERRESPONSE._serialized_end=16230 - _DESCRIBECONSUMERRESULT._serialized_start=16233 - _DESCRIBECONSUMERRESULT._serialized_end=17212 - _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_start=16401 - _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_end=16715 - _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_start=16718 - _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_end=17212 - _PARTITIONSTATS._serialized_start=17215 - _PARTITIONSTATS._serialized_end=17503 - _ALTERTOPICREQUEST._serialized_start=17506 - _ALTERTOPICREQUEST._serialized_end=18592 - _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_start=11492 - _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_end=11546 - _ALTERTOPICRESPONSE._serialized_start=18594 - _ALTERTOPICRESPONSE._serialized_end=18660 - _ALTERTOPICRESULT._serialized_start=18662 - _ALTERTOPICRESULT._serialized_end=18680 - _DROPTOPICREQUEST._serialized_start=18682 - _DROPTOPICREQUEST._serialized_end=18773 - _DROPTOPICRESPONSE._serialized_start=18775 - _DROPTOPICRESPONSE._serialized_end=18840 - _DROPTOPICRESULT._serialized_start=18842 - _DROPTOPICRESULT._serialized_end=18859 + _RESETOFFSETREQUEST._serialized_start=10340 + _RESETOFFSETREQUEST._serialized_end=10738 + _RESETOFFSETREQUEST_EARLIEST._serialized_start=10641 + _RESETOFFSETREQUEST_EARLIEST._serialized_end=10651 + _RESETOFFSETREQUEST_LATEST._serialized_start=10653 + _RESETOFFSETREQUEST_LATEST._serialized_end=10661 + _RESETOFFSETREQUEST_FROMWRITTENAT._serialized_start=10663 + _RESETOFFSETREQUEST_FROMWRITTENAT._serialized_end=10726 + _RESETOFFSETRESPONSE._serialized_start=10740 + _RESETOFFSETRESPONSE._serialized_end=10807 + _RESETOFFSETRESULT._serialized_start=10809 + _RESETOFFSETRESULT._serialized_end=10828 + _MULTIPLEWINDOWSSTAT._serialized_start=10830 + _MULTIPLEWINDOWSSTAT._serialized_end=10906 + _CONSUMER._serialized_start=10909 + _CONSUMER._serialized_end=11616 + _CONSUMER_ATTRIBUTESENTRY._serialized_start=11232 + _CONSUMER_ATTRIBUTESENTRY._serialized_end=11281 + _CONSUMER_CONSUMERSTATS._serialized_start=11284 + _CONSUMER_CONSUMERSTATS._serialized_end=11586 + _ALTERCONSUMER._serialized_start=11619 + _ALTERCONSUMER._serialized_end=12091 + _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_start=11983 + _ALTERCONSUMER_ALTERATTRIBUTESENTRY._serialized_end=12037 + _PARTITIONINGSETTINGS._serialized_start=12094 + _PARTITIONINGSETTINGS._serialized_end=12314 + _AUTOPARTITIONINGSETTINGS._serialized_start=12317 + _AUTOPARTITIONINGSETTINGS._serialized_end=12476 + _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=12479 + _AUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=12658 + _ALTERPARTITIONINGSETTINGS._serialized_start=12661 + _ALTERPARTITIONINGSETTINGS._serialized_end=13056 + _ALTERAUTOPARTITIONINGSETTINGS._serialized_start=13059 + _ALTERAUTOPARTITIONINGSETTINGS._serialized_end=13293 + _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_start=13296 + _ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY._serialized_end=13600 + _CREATETOPICREQUEST._serialized_start=13603 + _CREATETOPICREQUEST._serialized_end=14316 + _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_start=11232 + _CREATETOPICREQUEST_ATTRIBUTESENTRY._serialized_end=11281 + _CREATETOPICRESPONSE._serialized_start=14318 + _CREATETOPICRESPONSE._serialized_end=14385 + _CREATETOPICRESULT._serialized_start=14387 + _CREATETOPICRESULT._serialized_end=14406 + _PARTITIONLOCATION._serialized_start=14408 + _PARTITIONLOCATION._serialized_end=14464 + _DESCRIBETOPICREQUEST._serialized_start=14467 + _DESCRIBETOPICREQUEST._serialized_end=14611 + _DESCRIBETOPICRESPONSE._serialized_start=14613 + _DESCRIBETOPICRESPONSE._serialized_end=14682 + _PARTITIONKEYRANGE._serialized_start=14684 + _PARTITIONKEYRANGE._serialized_end=14779 + _DESCRIBETOPICRESULT._serialized_start=14782 + _DESCRIBETOPICRESULT._serialized_end=16139 + _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_start=11232 + _DESCRIBETOPICRESULT_ATTRIBUTESENTRY._serialized_end=11281 + _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_start=15636 + _DESCRIBETOPICRESULT_PARTITIONINFO._serialized_end=15907 + _DESCRIBETOPICRESULT_TOPICSTATS._serialized_start=15910 + _DESCRIBETOPICRESULT_TOPICSTATS._serialized_end=16115 + _DESCRIBEPARTITIONREQUEST._serialized_start=16142 + _DESCRIBEPARTITIONREQUEST._serialized_end=16312 + _DESCRIBEPARTITIONRESPONSE._serialized_start=16314 + _DESCRIBEPARTITIONRESPONSE._serialized_end=16387 + _DESCRIBEPARTITIONRESULT._serialized_start=16389 + _DESCRIBEPARTITIONRESULT._serialized_end=16479 + _DESCRIBECONSUMERREQUEST._serialized_start=16482 + _DESCRIBECONSUMERREQUEST._serialized_end=16647 + _DESCRIBECONSUMERRESPONSE._serialized_start=16649 + _DESCRIBECONSUMERRESPONSE._serialized_end=16721 + _DESCRIBECONSUMERRESULT._serialized_start=16724 + _DESCRIBECONSUMERRESULT._serialized_end=17703 + _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_start=16892 + _DESCRIBECONSUMERRESULT_PARTITIONINFO._serialized_end=17206 + _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_start=17209 + _DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS._serialized_end=17703 + _PARTITIONSTATS._serialized_start=17706 + _PARTITIONSTATS._serialized_end=17994 + _ALTERTOPICREQUEST._serialized_start=17997 + _ALTERTOPICREQUEST._serialized_end=19083 + _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_start=11983 + _ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY._serialized_end=12037 + _ALTERTOPICRESPONSE._serialized_start=19085 + _ALTERTOPICRESPONSE._serialized_end=19151 + _ALTERTOPICRESULT._serialized_start=19153 + _ALTERTOPICRESULT._serialized_end=19171 + _DROPTOPICREQUEST._serialized_start=19173 + _DROPTOPICREQUEST._serialized_end=19264 + _DROPTOPICRESPONSE._serialized_start=19266 + _DROPTOPICRESPONSE._serialized_end=19331 + _DROPTOPICRESULT._serialized_start=19333 + _DROPTOPICRESULT._serialized_end=19350 # @@protoc_insertion_point(module_scope) diff --git a/ydb/_grpc/v5/protos/ydb_topic_pb2.pyi b/ydb/_grpc/v5/protos/ydb_topic_pb2.pyi index 91f0c1012..3040f01d8 100644 --- a/ydb/_grpc/v5/protos/ydb_topic_pb2.pyi +++ b/ydb/_grpc/v5/protos/ydb_topic_pb2.pyi @@ -549,6 +549,43 @@ class PartitioningSettings(_message.Message): partition_count_limit: int def __init__(self, min_active_partitions: _Optional[int] = ..., max_active_partitions: _Optional[int] = ..., partition_count_limit: _Optional[int] = ..., auto_partitioning_settings: _Optional[_Union[AutoPartitioningSettings, _Mapping]] = ...) -> None: ... +class ResetOffsetRequest(_message.Message): + __slots__ = ["consumer", "earliest", "from_written_at", "latest", "operation_params", "path"] + class Earliest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + class FromWrittenAt(_message.Message): + __slots__ = ["written_at"] + WRITTEN_AT_FIELD_NUMBER: _ClassVar[int] + written_at: _timestamp_pb2.Timestamp + def __init__(self, written_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class Latest(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + CONSUMER_FIELD_NUMBER: _ClassVar[int] + EARLIEST_FIELD_NUMBER: _ClassVar[int] + FROM_WRITTEN_AT_FIELD_NUMBER: _ClassVar[int] + LATEST_FIELD_NUMBER: _ClassVar[int] + OPERATION_PARAMS_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + consumer: str + earliest: ResetOffsetRequest.Earliest + from_written_at: ResetOffsetRequest.FromWrittenAt + latest: ResetOffsetRequest.Latest + operation_params: _ydb_operation_pb2.OperationParams + path: str + def __init__(self, operation_params: _Optional[_Union[_ydb_operation_pb2.OperationParams, _Mapping]] = ..., path: _Optional[str] = ..., consumer: _Optional[str] = ..., earliest: _Optional[_Union[ResetOffsetRequest.Earliest, _Mapping]] = ..., latest: _Optional[_Union[ResetOffsetRequest.Latest, _Mapping]] = ..., from_written_at: _Optional[_Union[ResetOffsetRequest.FromWrittenAt, _Mapping]] = ...) -> None: ... + +class ResetOffsetResponse(_message.Message): + __slots__ = ["operation"] + OPERATION_FIELD_NUMBER: _ClassVar[int] + operation: _ydb_operation_pb2.Operation + def __init__(self, operation: _Optional[_Union[_ydb_operation_pb2.Operation, _Mapping]] = ...) -> None: ... + +class ResetOffsetResult(_message.Message): + __slots__ = [] + def __init__(self) -> None: ... + class StreamDirectReadMessage(_message.Message): __slots__ = [] class DirectReadResponse(_message.Message): diff --git a/ydb/_grpc/v5/ydb_topic_v1_pb2.py b/ydb/_grpc/v5/ydb_topic_v1_pb2.py index 54efc1e3c..c03604d2c 100644 --- a/ydb/_grpc/v5/ydb_topic_v1_pb2.py +++ b/ydb/_grpc/v5/ydb_topic_v1_pb2.py @@ -15,7 +15,7 @@ from ydb._grpc.v5.protos import ydb_topic_pb2 as protos_dot_ydb__topic__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\xb7\x06\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\x85\x07\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12L\n\x0bResetOffset\x12\x1d.Ydb.Topic.ResetOffsetRequest\x1a\x1e.Ydb.Topic.ResetOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ydb_topic_v1_pb2', globals()) @@ -24,5 +24,5 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\027tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\370\001\001' _TOPICSERVICE._serialized_start=61 - _TOPICSERVICE._serialized_end=884 + _TOPICSERVICE._serialized_end=962 # @@protoc_insertion_point(module_scope) diff --git a/ydb/_grpc/v5/ydb_topic_v1_pb2_grpc.py b/ydb/_grpc/v5/ydb_topic_v1_pb2_grpc.py index b516e2134..043f9d46c 100644 --- a/ydb/_grpc/v5/ydb_topic_v1_pb2_grpc.py +++ b/ydb/_grpc/v5/ydb_topic_v1_pb2_grpc.py @@ -29,6 +29,11 @@ def __init__(self, channel): request_serializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.SerializeToString, response_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.FromString, ) + self.ResetOffset = channel.unary_unary( + '/Ydb.Topic.V1.TopicService/ResetOffset', + request_serializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + response_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + ) self.UpdateOffsetsInTransaction = channel.unary_unary( '/Ydb.Topic.V1.TopicService/UpdateOffsetsInTransaction', request_serializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.SerializeToString, @@ -106,7 +111,7 @@ def StreamRead(self, request_iterator, context): StartPartitionSessionRequest(Topic2, Partition2, PartitionSessionID2, ...) <---------------- StartPartitionSessionResponse(PartitionSessionID1, ...) - client must respond with this message to actually start receiving data messages from this partition + client must respond with this message to actually start recieving data messages from this partition ----------------> StopPartitionSessionRequest(PartitionSessionID1, ...) <---------------- @@ -135,6 +140,15 @@ def CommitOffset(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ResetOffset(self, request, context): + """Reset committed offsets for a consumer on all topic partitions (including inactive). + Each partition is updated independently (not atomic across partitions). + Drops any active read session for this consumer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def UpdateOffsetsInTransaction(self, request, context): """Add information about offset ranges to the transaction. """ @@ -195,6 +209,11 @@ def add_TopicServiceServicer_to_server(servicer, server): request_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.FromString, response_serializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.SerializeToString, ), + 'ResetOffset': grpc.unary_unary_rpc_method_handler( + servicer.ResetOffset, + request_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.FromString, + response_serializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.SerializeToString, + ), 'UpdateOffsetsInTransaction': grpc.unary_unary_rpc_method_handler( servicer.UpdateOffsetsInTransaction, request_deserializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.FromString, @@ -286,6 +305,23 @@ def CommitOffset(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def ResetOffset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/Ydb.Topic.V1.TopicService/ResetOffset', + protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def UpdateOffsetsInTransaction(request, target, diff --git a/ydb/_grpc/v6/protos/ydb_topic_pb2.py b/ydb/_grpc/v6/protos/ydb_topic_pb2.py index 7b08eced6..e39d38f0f 100644 --- a/ydb/_grpc/v6/protos/ydb_topic_pb2.py +++ b/ydb/_grpc/v6/protos/ydb_topic_pb2.py @@ -34,7 +34,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\x9a\xe6*\x02\x18\x64\xb2\xe6*\n[1; 19999]\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16protos/ydb_topic.proto\x12\tYdb.Topic\x1a\x1aprotos/ydb_operation.proto\x1a\x17protos/ydb_scheme.proto\x1a\x1dprotos/ydb_status_codes.proto\x1a\x1eprotos/ydb_issue_message.proto\x1a\"protos/annotations/sensitive.proto\x1a#protos/annotations/validation.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\x0fSupportedCodecs\x12$\n\x06\x63odecs\x18\x01 \x03(\x05\x42\x14\x9a\xe6*\x02\x18\x64\xb2\xe6*\n[1; 19999]\"*\n\x0cOffsetsRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\")\n\x12UpdateTokenRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\xb8\xe6*\x01\"\x15\n\x13UpdateTokenResponse\"C\n\x17PartitionWithGeneration\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"*\n\x0cMetadataItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x9e\x14\n\x12StreamWriteMessage\x1a\xe5\x01\n\nFromClient\x12\x41\n\x0cinit_request\x18\x01 \x01(\x0b\x32).Ydb.Topic.StreamWriteMessage.InitRequestH\x00\x12\x43\n\rwrite_request\x18\x02 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.WriteRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xbf\x02\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x43\n\rinit_response\x18\x03 \x01(\x0b\x32*.Ydb.Topic.StreamWriteMessage.InitResponseH\x00\x12\x45\n\x0ewrite_response\x18\x04 \x01(\x0b\x32+.Ydb.Topic.StreamWriteMessage.WriteResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xfe\x02\n\x0bInitRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12[\n\x12write_session_meta\x18\x03 \x03(\x0b\x32?.Ydb.Topic.StreamWriteMessage.InitRequest.WriteSessionMetaEntry\x12#\n\x10message_group_id\x18\x04 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x05 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x07 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x17\n\x0fget_last_seq_no\x18\x06 \x01(\x08\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0cpartitioning\x1a\x83\x01\n\x0cInitResponse\x12\x13\n\x0blast_seq_no\x18\x01 \x01(\x03\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x04 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x1a\xe8\x03\n\x0cWriteRequest\x12H\n\x08messages\x18\x01 \x03(\x0b\x32\x36.Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData\x12\r\n\x05\x63odec\x18\x02 \x01(\x05\x12/\n\x02tx\x18\x03 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentityH\x00\x88\x01\x01\x1a\xc6\x02\n\x0bMessageData\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x04 \x01(\x03\x12#\n\x10message_group_id\x18\x05 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10H\x00\x12\x16\n\x0cpartition_id\x18\x06 \x01(\x03H\x00\x12G\n\x19partition_with_generation\x18\x08 \x01(\x0b\x32\".Ydb.Topic.PartitionWithGenerationH\x00\x12\x38\n\x0emetadata_items\x18\x07 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItemB\x07\x9a\xe6*\x03\x18\xe8\x07\x42\x0e\n\x0cpartitioningB\x05\n\x03_tx\x1a\xeb\x07\n\rWriteResponse\x12\x42\n\x04\x61\x63ks\x18\x01 \x03(\x0b\x32\x34.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck\x12\x14\n\x0cpartition_id\x18\x02 \x01(\x03\x12U\n\x10write_statistics\x18\x03 \x01(\x0b\x32;.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics\x1a\xf8\x03\n\x08WriteAck\x12\x0e\n\x06seq_no\x18\x01 \x01(\x03\x12O\n\x07written\x18\x02 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenH\x00\x12O\n\x07skipped\x18\x03 \x01(\x0b\x32<.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.SkippedH\x00\x12Y\n\rwritten_in_tx\x18\x04 \x01(\x0b\x32@.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTxH\x00\x1a\x19\n\x07Written\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x1a\x9c\x01\n\x07Skipped\x12S\n\x06reason\x18\x01 \x01(\x0e\x32\x43.Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason\"<\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16REASON_ALREADY_WRITTEN\x10\x01\x1a\r\n\x0bWrittenInTxB\x16\n\x14message_write_status\x1a\xad\x02\n\x0fWriteStatistics\x12\x32\n\x0fpersisting_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13min_queue_wait_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x36\n\x13max_queue_wait_time\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19partition_quota_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15topic_quota_wait_time\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xd8#\n\x11StreamReadMessage\x1aT\n\x10PartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x1a\xb1\x05\n\nFromClient\x12@\n\x0cinit_request\x18\x01 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.InitRequestH\x00\x12@\n\x0cread_request\x18\x02 \x01(\x0b\x32(.Ydb.Topic.StreamReadMessage.ReadRequestH\x00\x12Q\n\x15\x63ommit_offset_request\x18\x03 \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.CommitOffsetRequestH\x00\x12\x66\n partition_session_status_request\x18\x04 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequestH\x00\x12=\n\x14update_token_request\x18\x05 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x12\x45\n\x0f\x64irect_read_ack\x18\x08 \x01(\x0b\x32*.Ydb.Topic.StreamReadMessage.DirectReadAckH\x00\x12\x66\n start_partition_session_response\x18\x06 \x01(\x0b\x32:.Ydb.Topic.StreamReadMessage.StartPartitionSessionResponseH\x00\x12\x64\n\x1fstop_partition_session_response\x18\x07 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StopPartitionSessionResponseH\x00\x42\x10\n\x0e\x63lient_message\x1a\xf0\x06\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x42\n\rinit_response\x18\x03 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.InitResponseH\x00\x12\x42\n\rread_response\x18\x04 \x01(\x0b\x32).Ydb.Topic.StreamReadMessage.ReadResponseH\x00\x12S\n\x16\x63ommit_offset_response\x18\x05 \x01(\x0b\x32\x31.Ydb.Topic.StreamReadMessage.CommitOffsetResponseH\x00\x12h\n!partition_session_status_response\x18\x06 \x01(\x0b\x32;.Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponseH\x00\x12?\n\x15update_token_response\x18\x07 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x12\x64\n\x1fstart_partition_session_request\x18\x08 \x01(\x0b\x32\x39.Ydb.Topic.StreamReadMessage.StartPartitionSessionRequestH\x00\x12\x62\n\x1estop_partition_session_request\x18\t \x01(\x0b\x32\x38.Ydb.Topic.StreamReadMessage.StopPartitionSessionRequestH\x00\x12W\n\x18update_partition_session\x18\n \x01(\x0b\x32\x33.Ydb.Topic.StreamReadMessage.UpdatePartitionSessionH\x00\x12Q\n\x15\x65nd_partition_session\x18\x0b \x01(\x0b\x32\x30.Ydb.Topic.StreamReadMessage.EndPartitionSessionH\x00\x42\x10\n\x0eserver_message\x1a\x83\x03\n\x0bInitRequest\x12X\n\x14topics_read_settings\x18\x01 \x03(\x0b\x32:.Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x02 \x01(\t\x12\x13\n\x0breader_name\x18\x03 \x01(\t\x12\x13\n\x0b\x64irect_read\x18\x04 \x01(\x08\x12!\n\x19\x61uto_partitioning_support\x18\x05 \x01(\x08\x12%\n\x1dpartition_max_in_flight_bytes\x18\x06 \x01(\x04\x1a\x93\x01\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x15\n\rpartition_ids\x18\x02 \x03(\x03\x12*\n\x07max_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n\tread_from\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\"\n\x0cInitResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x1a!\n\x0bReadRequest\x12\x12\n\nbytes_size\x18\x01 \x01(\x03\x1a\x91\x06\n\x0cReadResponse\x12O\n\x0epartition_data\x18\x01 \x03(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x02 \x01(\x03\x1a\xda\x01\n\x0bMessageData\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06seq_no\x18\x02 \x01(\x03\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\x12\x19\n\x11uncompressed_size\x18\x06 \x01(\x03\x12!\n\x10message_group_id\x18\x07 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12/\n\x0emetadata_items\x18\x08 \x03(\x0b\x32\x17.Ydb.Topic.MetadataItem\x1a\xcd\x02\n\x05\x42\x61tch\x12K\n\x0cmessage_data\x18\x01 \x03(\x0b\x32\x35.Ydb.Topic.StreamReadMessage.ReadResponse.MessageData\x12\x1c\n\x0bproducer_id\x18\x02 \x01(\tB\x07\xa2\xe6*\x03\x18\x80\x10\x12\x61\n\x12write_session_meta\x18\x03 \x03(\x0b\x32\x45.Ydb.Topic.StreamReadMessage.ReadResponse.Batch.WriteSessionMetaEntry\x12\r\n\x05\x63odec\x18\x04 \x01(\x05\x12.\n\nwritten_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x37\n\x15WriteSessionMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1ao\n\rPartitionData\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12@\n\x07\x62\x61tches\x18\x02 \x03(\x0b\x32/.Ydb.Topic.StreamReadMessage.ReadResponse.Batch\x1a\xd6\x01\n\x13\x43ommitOffsetRequest\x12^\n\x0e\x63ommit_offsets\x18\x01 \x03(\x0b\x32\x46.Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset\x1a_\n\x15PartitionCommitOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12(\n\x07offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x1a\xdc\x01\n\x14\x43ommitOffsetResponse\x12p\n\x1cpartitions_committed_offsets\x18\x01 \x03(\x0b\x32J.Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset\x1aR\n\x18PartitionCommittedOffset\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x1a=\n\x1dPartitionSessionStatusRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x1a\xe0\x01\n\x1ePartitionSessionStatusResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12=\n\x19write_time_high_watermark\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bread_offset\x18\x05 \x01(\x03\x1a\xf0\x01\n\x1cStartPartitionSessionRequest\x12H\n\x11partition_session\x18\x01 \x01(\x0b\x32-.Ydb.Topic.StreamReadMessage.PartitionSession\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x03 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x38\n\x12partition_location\x18\x04 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x95\x01\n\x1dStartPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x18\n\x0bread_offset\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\rcommit_offset\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x0e\n\x0c_read_offsetB\x10\n\x0e_commit_offset\x1a\x84\x01\n\x1bStopPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x12\x18\n\x10\x63ommitted_offset\x18\x03 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x04 \x01(\x03\x1aN\n\x1cStopPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x10\n\x08graceful\x18\x02 \x01(\x08\x1ap\n\x16UpdatePartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x38\n\x12partition_location\x18\x02 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\x45\n\rDirectReadAck\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x1ap\n\x13\x45ndPartitionSession\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1e\n\x16\x61\x64jacent_partition_ids\x18\x02 \x03(\x03\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\"\x8b\r\n\x17StreamDirectReadMessage\x1a\xa8\x02\n\nFromClient\x12\x46\n\x0cinit_request\x18\x01 \x01(\x0b\x32..Ydb.Topic.StreamDirectReadMessage.InitRequestH\x00\x12\x80\x01\n+start_direct_read_partition_session_request\x18\x02 \x01(\x0b\x32I.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionRequestH\x00\x12=\n\x14update_token_request\x18\x03 \x01(\x0b\x32\x1d.Ydb.Topic.UpdateTokenRequestH\x00\x42\x10\n\x0e\x63lient_message\x1a\xca\x04\n\nFromServer\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12H\n\rinit_response\x18\x06 \x01(\x0b\x32/.Ydb.Topic.StreamDirectReadMessage.InitResponseH\x00\x12\x82\x01\n,start_direct_read_partition_session_response\x18\x07 \x01(\x0b\x32J.Ydb.Topic.StreamDirectReadMessage.StartDirectReadPartitionSessionResponseH\x00\x12o\n\"stop_direct_read_partition_session\x18\x03 \x01(\x0b\x32\x41.Ydb.Topic.StreamDirectReadMessage.StopDirectReadPartitionSessionH\x00\x12U\n\x14\x64irect_read_response\x18\x04 \x01(\x0b\x32\x35.Ydb.Topic.StreamDirectReadMessage.DirectReadResponseH\x00\x12?\n\x15update_token_response\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.UpdateTokenResponseH\x00\x42\x10\n\x0eserver_message\x1a\xb6\x01\n\x0bInitRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12^\n\x14topics_read_settings\x18\x02 \x03(\x0b\x32@.Ydb.Topic.StreamDirectReadMessage.InitRequest.TopicReadSettings\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x1a!\n\x11TopicReadSettings\x12\x0c\n\x04path\x18\x01 \x01(\t\x1a\x0e\n\x0cInitResponse\x1aw\n&StartDirectReadPartitionSessionRequest\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x1b\n\x13last_direct_read_id\x18\x02 \x01(\x03\x12\x12\n\ngeneration\x18\x03 \x01(\x03\x1a[\n\'StartDirectReadPartitionSessionResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x12\n\ngeneration\x18\x02 \x01(\x03\x1a\xa6\x01\n\x1eStopDirectReadPartitionSession\x12)\n\x06status\x18\x01 \x01(\x0e\x32\x19.Ydb.StatusIds.StatusCode\x12\'\n\x06issues\x18\x02 \x03(\x0b\x32\x17.Ydb.Issue.IssueMessage\x12\x1c\n\x14partition_session_id\x18\x03 \x01(\x03\x12\x12\n\ngeneration\x18\x04 \x01(\x03\x1a\xaf\x01\n\x12\x44irectReadResponse\x12\x1c\n\x14partition_session_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x64irect_read_id\x18\x02 \x01(\x03\x12O\n\x0epartition_data\x18\x03 \x01(\x0b\x32\x37.Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData\x12\x12\n\nbytes_size\x18\x04 \x01(\x03\"2\n\x13TransactionIdentity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07session\x18\x02 \x01(\t\"\xc4\x03\n!UpdateOffsetsInTransactionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12*\n\x02tx\x18\x02 \x01(\x0b\x32\x1e.Ydb.Topic.TransactionIdentity\x12I\n\x06topics\x18\x03 \x03(\x0b\x32\x39.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x1a\xda\x01\n\x0cTopicOffsets\x12\x0c\n\x04path\x18\x01 \x01(\t\x12^\n\npartitions\x18\x02 \x03(\x0b\x32J.Ydb.Topic.UpdateOffsetsInTransactionRequest.TopicOffsets.PartitionOffsets\x1a\\\n\x10PartitionOffsets\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x32\n\x11partition_offsets\x18\x02 \x03(\x0b\x32\x17.Ydb.Topic.OffsetsRange\"R\n\"UpdateOffsetsInTransactionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\"\n UpdateOffsetsInTransactionResult\"\xaf\x01\n\x13\x43ommitOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x10\n\x08\x63onsumer\x18\x04 \x01(\t\x12\x0e\n\x06offset\x18\x05 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x06 \x01(\t\"D\n\x14\x43ommitOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x14\n\x12\x43ommitOffsetResult\"\x8e\x03\n\x12ResetOffsetRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12:\n\x08\x65\x61rliest\x18\x04 \x01(\x0b\x32&.Ydb.Topic.ResetOffsetRequest.EarliestH\x00\x12\x36\n\x06latest\x18\x05 \x01(\x0b\x32$.Ydb.Topic.ResetOffsetRequest.LatestH\x00\x12\x46\n\x0f\x66rom_written_at\x18\x06 \x01(\x0b\x32+.Ydb.Topic.ResetOffsetRequest.FromWrittenAtH\x00\x1a\n\n\x08\x45\x61rliest\x1a\x08\n\x06Latest\x1a?\n\rFromWrittenAt\x12.\n\nwritten_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\n\x08position\"C\n\x13ResetOffsetResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11ResetOffsetResult\"L\n\x13MultipleWindowsStat\x12\x12\n\nper_minute\x18\x01 \x01(\x03\x12\x10\n\x08per_hour\x18\x02 \x01(\x03\x12\x0f\n\x07per_day\x18\x03 \x01(\x03\"\xc3\x05\n\x08\x43onsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timportant\x18\x02 \x01(\x08\x12-\n\tread_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x37\n\nattributes\x18\x06 \x03(\x0b\x32#.Ydb.Topic.Consumer.AttributesEntry\x12\x39\n\x0e\x63onsumer_stats\x18\x07 \x01(\x0b\x32!.Ydb.Topic.Consumer.ConsumerStats\x12;\n\x13\x61vailability_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xae\x02\n\rConsumerStats\x12\x41\n\x1dmin_partitions_last_read_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x16\n\x14_availability_periodJ\x04\x08\x04\x10\x05\"\xd8\x03\n\rAlterConsumer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\rset_important\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x31\n\rset_read_from\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14set_supported_codecs\x18\x05 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12G\n\x10\x61lter_attributes\x18\x06 \x03(\x0b\x32-.Ydb.Topic.AlterConsumer.AlterAttributesEntry\x12<\n\x17set_availability_period\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12;\n\x19reset_availability_period\x18\x08 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x1c\n\x1a\x61vailability_period_actionB\x10\n\x0e_set_importantJ\x04\x08\x04\x10\x05\"\xdc\x01\n\x14PartitioningSettings\x12\'\n\x15min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\'\n\x15max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12)\n\x15partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0\x12G\n\x1a\x61uto_partitioning_settings\x18\x04 \x01(\x0b\x32#.Ydb.Topic.AutoPartitioningSettings\"\x9f\x01\n\x18\x41utoPartitioningSettings\x12\x35\n\x08strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategy\x12L\n\x15partition_write_speed\x18\x02 \x01(\x0b\x32-.Ydb.Topic.AutoPartitioningWriteSpeedStrategy\"\xb3\x01\n\"AutoPartitioningWriteSpeedStrategy\x12\x37\n\x14stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12(\n\x16up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\x12*\n\x18\x64own_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0\"\x8b\x03\n\x19\x41lterPartitioningSettings\x12\x30\n\x19set_min_active_partitions\x18\x01 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x00\x88\x01\x01\x12\x30\n\x19set_max_active_partitions\x18\x03 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x32\n\x19set_partition_count_limit\x18\x02 \x01(\x03\x42\n\x18\x01\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12W\n alter_auto_partitioning_settings\x18\x04 \x01(\x0b\x32(.Ydb.Topic.AlterAutoPartitioningSettingsH\x03\x88\x01\x01\x42\x1c\n\x1a_set_min_active_partitionsB\x1c\n\x1a_set_max_active_partitionsB\x1c\n\x1a_set_partition_count_limitB#\n!_alter_auto_partitioning_settings\"\xea\x01\n\x1d\x41lterAutoPartitioningSettings\x12>\n\x0cset_strategy\x18\x01 \x01(\x0e\x32#.Ydb.Topic.AutoPartitioningStrategyH\x00\x88\x01\x01\x12Z\n\x19set_partition_write_speed\x18\x02 \x01(\x0b\x32\x32.Ydb.Topic.AlterAutoPartitioningWriteSpeedStrategyH\x01\x88\x01\x01\x42\x0f\n\r_set_strategyB\x1c\n\x1a_set_partition_write_speed\"\xb0\x02\n\'AlterAutoPartitioningWriteSpeedStrategy\x12@\n\x18set_stabilization_window\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x12\x31\n\x1aset_up_utilization_percent\x18\x02 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x33\n\x1cset_down_utilization_percent\x18\x03 \x01(\x05\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x42\x1b\n\x19_set_stabilization_windowB\x1d\n\x1b_set_up_utilization_percentB\x1f\n\x1d_set_down_utilization_percent\"\xc9\x05\n\x12\x43reateTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12>\n\x15partitioning_settings\x18\x03 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x14retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x38\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12-\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0\x12\x41\n\nattributes\x18\n \x03(\x0b\x32-.Ydb.Topic.CreateTopicRequest.AttributesEntry\x12/\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1a\n\rmetrics_level\x18\r \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x0e \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"C\n\x13\x43reateTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x13\n\x11\x43reateTopicResult\"8\n\x11PartitionLocation\x12\x0f\n\x07node_id\x18\x01 \x01(\x05\x12\x12\n\ngeneration\x18\x02 \x01(\x03\"\x90\x01\n\x14\x44\x65scribeTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rinclude_stats\x18\x03 \x01(\x08\x12\x18\n\x10include_location\x18\x04 \x01(\x08\"E\n\x15\x44\x65scribeTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"_\n\x11PartitionKeyRange\x12\x17\n\nfrom_bound\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08to_bound\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_from_boundB\x0b\n\t_to_bound\"\xcd\n\n\x13\x44\x65scribeTopicResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12>\n\x15partitioning_settings\x18\x02 \x01(\x0b\x32\x1f.Ydb.Topic.PartitioningSettings\x12@\n\npartitions\x18\x03 \x03(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\x12\x33\n\x10retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14retention_storage_mb\x18\x05 \x01(\x03\x12\x34\n\x10supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12.\n&partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x12\x33\n+partition_total_read_speed_bytes_per_second\x18\x0e \x01(\x03\x12\x36\n.partition_consumer_read_speed_bytes_per_second\x18\x0f \x01(\x03\x12#\n\x1bpartition_write_burst_bytes\x18\t \x01(\x03\x12\x42\n\nattributes\x18\n \x03(\x0b\x32..Ydb.Topic.DescribeTopicResult.AttributesEntry\x12&\n\tconsumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.Consumer\x12.\n\rmetering_mode\x18\x0c \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12>\n\x0btopic_stats\x18\r \x01(\x0b\x32).Ydb.Topic.DescribeTopicResult.TopicStats\x12\x1a\n\rmetrics_level\x18\x10 \x01(\rH\x00\x88\x01\x01\x12#\n\x1b\x63ontent_based_deduplication\x18\x11 \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x8f\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12\x38\n\x12partition_location\x18\x06 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x12/\n\tkey_range\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionKeyRange\x1a\xcd\x01\n\nTopicStats\x12\x18\n\x10store_size_bytes\x18\x01 \x01(\x03\x12\x37\n\x13min_last_write_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x04 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStatB\x10\n\x0e_metrics_levelJ\x04\x08\x06\x10\x07\"\xaa\x01\n\x18\x44\x65scribePartitionRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x14\n\x0cpartition_id\x18\x03 \x01(\x03\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"I\n\x19\x44\x65scribePartitionResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"Z\n\x17\x44\x65scribePartitionResult\x12?\n\tpartition\x18\x01 \x01(\x0b\x32,.Ydb.Topic.DescribeTopicResult.PartitionInfo\"\xa5\x01\n\x17\x44\x65scribeConsumerRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x63onsumer\x18\x03 \x01(\t\x12\x15\n\rinclude_stats\x18\x04 \x01(\x08\x12\x18\n\x10include_location\x18\x05 \x01(\x08\"H\n\x18\x44\x65scribeConsumerResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\xd3\x07\n\x16\x44\x65scribeConsumerResult\x12\x1f\n\x04self\x18\x01 \x01(\x0b\x32\x11.Ydb.Scheme.Entry\x12%\n\x08\x63onsumer\x18\x02 \x01(\x0b\x32\x13.Ydb.Topic.Consumer\x12\x43\n\npartitions\x18\x03 \x03(\x0b\x32/.Ydb.Topic.DescribeConsumerResult.PartitionInfo\x1a\xba\x02\n\rPartitionInfo\x12\x14\n\x0cpartition_id\x18\x01 \x01(\x03\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x1b\n\x13\x63hild_partition_ids\x18\x03 \x03(\x03\x12\x1c\n\x14parent_partition_ids\x18\x04 \x03(\x03\x12\x32\n\x0fpartition_stats\x18\x05 \x01(\x0b\x32\x19.Ydb.Topic.PartitionStats\x12Z\n\x18partition_consumer_stats\x18\x06 \x01(\x0b\x32\x38.Ydb.Topic.DescribeConsumerResult.PartitionConsumerStats\x12\x38\n\x12partition_location\x18\x07 \x01(\x0b\x32\x1c.Ydb.Topic.PartitionLocation\x1a\xee\x03\n\x16PartitionConsumerStats\x12\x18\n\x10last_read_offset\x18\x01 \x01(\x03\x12\x18\n\x10\x63ommitted_offset\x18\x02 \x01(\x03\x12\x17\n\x0fread_session_id\x18\x03 \x01(\t\x12\x46\n\"partition_read_session_create_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_read_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x11max_read_time_lag\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12max_write_time_lag\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16max_committed_time_lag\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\nbytes_read\x18\x08 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x13\n\x0breader_name\x18\x0b \x01(\t\x12\x1a\n\x12\x63onnection_node_id\x18\x0c \x01(\x05\"\xa0\x02\n\x0ePartitionStats\x12\x32\n\x11partition_offsets\x18\x01 \x01(\x0b\x32\x17.Ydb.Topic.OffsetsRange\x12\x18\n\x10store_size_bytes\x18\x02 \x01(\x03\x12\x33\n\x0flast_write_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x12max_write_time_lag\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\rbytes_written\x18\x05 \x01(\x0b\x32\x1e.Ydb.Topic.MultipleWindowsStat\x12\x1d\n\x11partition_node_id\x18\x08 \x01(\x05\x42\x02\x18\x01\"\xbe\x08\n\x11\x41lterTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\x12I\n\x1b\x61lter_partitioning_settings\x18\x03 \x01(\x0b\x32$.Ydb.Topic.AlterPartitioningSettings\x12\x37\n\x14set_retention_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x18set_retention_storage_mb\x18\x05 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x01\x88\x01\x01\x12\x38\n\x14set_supported_codecs\x18\x07 \x01(\x0b\x32\x1a.Ydb.Topic.SupportedCodecs\x12\x41\n*set_partition_write_speed_bytes_per_second\x18\x08 \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x02\x88\x01\x01\x12\x36\n\x1fset_partition_write_burst_bytes\x18\t \x01(\x03\x42\x08\xb2\xe6*\x04>= 0H\x03\x88\x01\x01\x12K\n\x10\x61lter_attributes\x18\n \x03(\x0b\x32\x31.Ydb.Topic.AlterTopicRequest.AlterAttributesEntry\x12\x33\n\radd_consumers\x18\x0b \x03(\x0b\x32\x13.Ydb.Topic.ConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x1f\n\x0e\x64rop_consumers\x18\x0c \x03(\tB\x07\x9a\xe6*\x03\x18\xb8\x17\x12:\n\x0f\x61lter_consumers\x18\r \x03(\x0b\x32\x18.Ydb.Topic.AlterConsumerB\x07\x9a\xe6*\x03\x18\xb8\x17\x12\x32\n\x11set_metering_mode\x18\x0e \x01(\x0e\x32\x17.Ydb.Topic.MeteringMode\x12\x1b\n\x11set_metrics_level\x18\x0f \x01(\rH\x00\x12\x35\n\x13reset_metrics_level\x18\x10 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12,\n\x1fset_content_based_deduplication\x18\x11 \x01(\x08H\x04\x88\x01\x01\x1a\x36\n\x14\x41lterAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\rmetrics_levelB\x1b\n\x19_set_retention_storage_mbB-\n+_set_partition_write_speed_bytes_per_secondB\"\n _set_partition_write_burst_bytesB\"\n _set_content_based_deduplicationJ\x04\x08\x06\x10\x07\"B\n\x12\x41lterTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x12\n\x10\x41lterTopicResult\"[\n\x10\x44ropTopicRequest\x12\x39\n\x10operation_params\x18\x01 \x01(\x0b\x32\x1f.Ydb.Operations.OperationParams\x12\x0c\n\x04path\x18\x02 \x01(\t\"A\n\x11\x44ropTopicResponse\x12,\n\toperation\x18\x01 \x01(\x0b\x32\x19.Ydb.Operations.Operation\"\x11\n\x0f\x44ropTopicResult*\x83\x01\n\x05\x43odec\x12\x15\n\x11\x43ODEC_UNSPECIFIED\x10\x00\x12\r\n\tCODEC_RAW\x10\x01\x12\x0e\n\nCODEC_GZIP\x10\x02\x12\x0e\n\nCODEC_LZOP\x10\x03\x12\x0e\n\nCODEC_ZSTD\x10\x04\x12\x11\n\x0c\x43ODEC_CUSTOM\x10\x90N\"\x05\x08\x05\x10\x8fN\"\n\x08\xa0\x9c\x01\x10\xff\xff\xff\xff\x07*\xf1\x01\n\x18\x41utoPartitioningStrategy\x12*\n&AUTO_PARTITIONING_STRATEGY_UNSPECIFIED\x10\x00\x12\'\n#AUTO_PARTITIONING_STRATEGY_DISABLED\x10\x01\x12\'\n#AUTO_PARTITIONING_STRATEGY_SCALE_UP\x10\x02\x12\x30\n,AUTO_PARTITIONING_STRATEGY_SCALE_UP_AND_DOWN\x10\x03\x12%\n!AUTO_PARTITIONING_STRATEGY_PAUSED\x10\x04*s\n\x0cMeteringMode\x12\x1d\n\x19METERING_MODE_UNSPECIFIED\x10\x00\x12#\n\x1fMETERING_MODE_RESERVED_CAPACITY\x10\x01\x12\x1f\n\x1bMETERING_MODE_REQUEST_UNITS\x10\x02\x42S\n\x14tech.ydb.proto.topicZ8github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Topic\xf8\x01\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -114,12 +114,12 @@ _globals['_ALTERTOPICREQUEST'].fields_by_name['drop_consumers']._serialized_options = b'\232\346*\003\030\270\027' _globals['_ALTERTOPICREQUEST'].fields_by_name['alter_consumers']._loaded_options = None _globals['_ALTERTOPICREQUEST'].fields_by_name['alter_consumers']._serialized_options = b'\232\346*\003\030\270\027' - _globals['_CODEC']._serialized_start=18862 - _globals['_CODEC']._serialized_end=18993 - _globals['_AUTOPARTITIONINGSTRATEGY']._serialized_start=18996 - _globals['_AUTOPARTITIONINGSTRATEGY']._serialized_end=19237 - _globals['_METERINGMODE']._serialized_start=19239 - _globals['_METERINGMODE']._serialized_end=19354 + _globals['_CODEC']._serialized_start=19353 + _globals['_CODEC']._serialized_end=19484 + _globals['_AUTOPARTITIONINGSTRATEGY']._serialized_start=19487 + _globals['_AUTOPARTITIONINGSTRATEGY']._serialized_end=19728 + _globals['_METERINGMODE']._serialized_start=19730 + _globals['_METERINGMODE']._serialized_end=19845 _globals['_SUPPORTEDCODECS']._serialized_start=320 _globals['_SUPPORTEDCODECS']._serialized_end=375 _globals['_OFFSETSRANGE']._serialized_start=377 @@ -252,84 +252,96 @@ _globals['_COMMITOFFSETRESPONSE']._serialized_end=10315 _globals['_COMMITOFFSETRESULT']._serialized_start=10317 _globals['_COMMITOFFSETRESULT']._serialized_end=10337 - _globals['_MULTIPLEWINDOWSSTAT']._serialized_start=10339 - _globals['_MULTIPLEWINDOWSSTAT']._serialized_end=10415 - _globals['_CONSUMER']._serialized_start=10418 - _globals['_CONSUMER']._serialized_end=11125 - _globals['_CONSUMER_ATTRIBUTESENTRY']._serialized_start=10741 - _globals['_CONSUMER_ATTRIBUTESENTRY']._serialized_end=10790 - _globals['_CONSUMER_CONSUMERSTATS']._serialized_start=10793 - _globals['_CONSUMER_CONSUMERSTATS']._serialized_end=11095 - _globals['_ALTERCONSUMER']._serialized_start=11128 - _globals['_ALTERCONSUMER']._serialized_end=11600 - _globals['_ALTERCONSUMER_ALTERATTRIBUTESENTRY']._serialized_start=11492 - _globals['_ALTERCONSUMER_ALTERATTRIBUTESENTRY']._serialized_end=11546 - _globals['_PARTITIONINGSETTINGS']._serialized_start=11603 - _globals['_PARTITIONINGSETTINGS']._serialized_end=11823 - _globals['_AUTOPARTITIONINGSETTINGS']._serialized_start=11826 - _globals['_AUTOPARTITIONINGSETTINGS']._serialized_end=11985 - _globals['_AUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_start=11988 - _globals['_AUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_end=12167 - _globals['_ALTERPARTITIONINGSETTINGS']._serialized_start=12170 - _globals['_ALTERPARTITIONINGSETTINGS']._serialized_end=12565 - _globals['_ALTERAUTOPARTITIONINGSETTINGS']._serialized_start=12568 - _globals['_ALTERAUTOPARTITIONINGSETTINGS']._serialized_end=12802 - _globals['_ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_start=12805 - _globals['_ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_end=13109 - _globals['_CREATETOPICREQUEST']._serialized_start=13112 - _globals['_CREATETOPICREQUEST']._serialized_end=13825 - _globals['_CREATETOPICREQUEST_ATTRIBUTESENTRY']._serialized_start=10741 - _globals['_CREATETOPICREQUEST_ATTRIBUTESENTRY']._serialized_end=10790 - _globals['_CREATETOPICRESPONSE']._serialized_start=13827 - _globals['_CREATETOPICRESPONSE']._serialized_end=13894 - _globals['_CREATETOPICRESULT']._serialized_start=13896 - _globals['_CREATETOPICRESULT']._serialized_end=13915 - _globals['_PARTITIONLOCATION']._serialized_start=13917 - _globals['_PARTITIONLOCATION']._serialized_end=13973 - _globals['_DESCRIBETOPICREQUEST']._serialized_start=13976 - _globals['_DESCRIBETOPICREQUEST']._serialized_end=14120 - _globals['_DESCRIBETOPICRESPONSE']._serialized_start=14122 - _globals['_DESCRIBETOPICRESPONSE']._serialized_end=14191 - _globals['_PARTITIONKEYRANGE']._serialized_start=14193 - _globals['_PARTITIONKEYRANGE']._serialized_end=14288 - _globals['_DESCRIBETOPICRESULT']._serialized_start=14291 - _globals['_DESCRIBETOPICRESULT']._serialized_end=15648 - _globals['_DESCRIBETOPICRESULT_ATTRIBUTESENTRY']._serialized_start=10741 - _globals['_DESCRIBETOPICRESULT_ATTRIBUTESENTRY']._serialized_end=10790 - _globals['_DESCRIBETOPICRESULT_PARTITIONINFO']._serialized_start=15145 - _globals['_DESCRIBETOPICRESULT_PARTITIONINFO']._serialized_end=15416 - _globals['_DESCRIBETOPICRESULT_TOPICSTATS']._serialized_start=15419 - _globals['_DESCRIBETOPICRESULT_TOPICSTATS']._serialized_end=15624 - _globals['_DESCRIBEPARTITIONREQUEST']._serialized_start=15651 - _globals['_DESCRIBEPARTITIONREQUEST']._serialized_end=15821 - _globals['_DESCRIBEPARTITIONRESPONSE']._serialized_start=15823 - _globals['_DESCRIBEPARTITIONRESPONSE']._serialized_end=15896 - _globals['_DESCRIBEPARTITIONRESULT']._serialized_start=15898 - _globals['_DESCRIBEPARTITIONRESULT']._serialized_end=15988 - _globals['_DESCRIBECONSUMERREQUEST']._serialized_start=15991 - _globals['_DESCRIBECONSUMERREQUEST']._serialized_end=16156 - _globals['_DESCRIBECONSUMERRESPONSE']._serialized_start=16158 - _globals['_DESCRIBECONSUMERRESPONSE']._serialized_end=16230 - _globals['_DESCRIBECONSUMERRESULT']._serialized_start=16233 - _globals['_DESCRIBECONSUMERRESULT']._serialized_end=17212 - _globals['_DESCRIBECONSUMERRESULT_PARTITIONINFO']._serialized_start=16401 - _globals['_DESCRIBECONSUMERRESULT_PARTITIONINFO']._serialized_end=16715 - _globals['_DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS']._serialized_start=16718 - _globals['_DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS']._serialized_end=17212 - _globals['_PARTITIONSTATS']._serialized_start=17215 - _globals['_PARTITIONSTATS']._serialized_end=17503 - _globals['_ALTERTOPICREQUEST']._serialized_start=17506 - _globals['_ALTERTOPICREQUEST']._serialized_end=18592 - _globals['_ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY']._serialized_start=11492 - _globals['_ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY']._serialized_end=11546 - _globals['_ALTERTOPICRESPONSE']._serialized_start=18594 - _globals['_ALTERTOPICRESPONSE']._serialized_end=18660 - _globals['_ALTERTOPICRESULT']._serialized_start=18662 - _globals['_ALTERTOPICRESULT']._serialized_end=18680 - _globals['_DROPTOPICREQUEST']._serialized_start=18682 - _globals['_DROPTOPICREQUEST']._serialized_end=18773 - _globals['_DROPTOPICRESPONSE']._serialized_start=18775 - _globals['_DROPTOPICRESPONSE']._serialized_end=18840 - _globals['_DROPTOPICRESULT']._serialized_start=18842 - _globals['_DROPTOPICRESULT']._serialized_end=18859 + _globals['_RESETOFFSETREQUEST']._serialized_start=10340 + _globals['_RESETOFFSETREQUEST']._serialized_end=10738 + _globals['_RESETOFFSETREQUEST_EARLIEST']._serialized_start=10641 + _globals['_RESETOFFSETREQUEST_EARLIEST']._serialized_end=10651 + _globals['_RESETOFFSETREQUEST_LATEST']._serialized_start=10653 + _globals['_RESETOFFSETREQUEST_LATEST']._serialized_end=10661 + _globals['_RESETOFFSETREQUEST_FROMWRITTENAT']._serialized_start=10663 + _globals['_RESETOFFSETREQUEST_FROMWRITTENAT']._serialized_end=10726 + _globals['_RESETOFFSETRESPONSE']._serialized_start=10740 + _globals['_RESETOFFSETRESPONSE']._serialized_end=10807 + _globals['_RESETOFFSETRESULT']._serialized_start=10809 + _globals['_RESETOFFSETRESULT']._serialized_end=10828 + _globals['_MULTIPLEWINDOWSSTAT']._serialized_start=10830 + _globals['_MULTIPLEWINDOWSSTAT']._serialized_end=10906 + _globals['_CONSUMER']._serialized_start=10909 + _globals['_CONSUMER']._serialized_end=11616 + _globals['_CONSUMER_ATTRIBUTESENTRY']._serialized_start=11232 + _globals['_CONSUMER_ATTRIBUTESENTRY']._serialized_end=11281 + _globals['_CONSUMER_CONSUMERSTATS']._serialized_start=11284 + _globals['_CONSUMER_CONSUMERSTATS']._serialized_end=11586 + _globals['_ALTERCONSUMER']._serialized_start=11619 + _globals['_ALTERCONSUMER']._serialized_end=12091 + _globals['_ALTERCONSUMER_ALTERATTRIBUTESENTRY']._serialized_start=11983 + _globals['_ALTERCONSUMER_ALTERATTRIBUTESENTRY']._serialized_end=12037 + _globals['_PARTITIONINGSETTINGS']._serialized_start=12094 + _globals['_PARTITIONINGSETTINGS']._serialized_end=12314 + _globals['_AUTOPARTITIONINGSETTINGS']._serialized_start=12317 + _globals['_AUTOPARTITIONINGSETTINGS']._serialized_end=12476 + _globals['_AUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_start=12479 + _globals['_AUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_end=12658 + _globals['_ALTERPARTITIONINGSETTINGS']._serialized_start=12661 + _globals['_ALTERPARTITIONINGSETTINGS']._serialized_end=13056 + _globals['_ALTERAUTOPARTITIONINGSETTINGS']._serialized_start=13059 + _globals['_ALTERAUTOPARTITIONINGSETTINGS']._serialized_end=13293 + _globals['_ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_start=13296 + _globals['_ALTERAUTOPARTITIONINGWRITESPEEDSTRATEGY']._serialized_end=13600 + _globals['_CREATETOPICREQUEST']._serialized_start=13603 + _globals['_CREATETOPICREQUEST']._serialized_end=14316 + _globals['_CREATETOPICREQUEST_ATTRIBUTESENTRY']._serialized_start=11232 + _globals['_CREATETOPICREQUEST_ATTRIBUTESENTRY']._serialized_end=11281 + _globals['_CREATETOPICRESPONSE']._serialized_start=14318 + _globals['_CREATETOPICRESPONSE']._serialized_end=14385 + _globals['_CREATETOPICRESULT']._serialized_start=14387 + _globals['_CREATETOPICRESULT']._serialized_end=14406 + _globals['_PARTITIONLOCATION']._serialized_start=14408 + _globals['_PARTITIONLOCATION']._serialized_end=14464 + _globals['_DESCRIBETOPICREQUEST']._serialized_start=14467 + _globals['_DESCRIBETOPICREQUEST']._serialized_end=14611 + _globals['_DESCRIBETOPICRESPONSE']._serialized_start=14613 + _globals['_DESCRIBETOPICRESPONSE']._serialized_end=14682 + _globals['_PARTITIONKEYRANGE']._serialized_start=14684 + _globals['_PARTITIONKEYRANGE']._serialized_end=14779 + _globals['_DESCRIBETOPICRESULT']._serialized_start=14782 + _globals['_DESCRIBETOPICRESULT']._serialized_end=16139 + _globals['_DESCRIBETOPICRESULT_ATTRIBUTESENTRY']._serialized_start=11232 + _globals['_DESCRIBETOPICRESULT_ATTRIBUTESENTRY']._serialized_end=11281 + _globals['_DESCRIBETOPICRESULT_PARTITIONINFO']._serialized_start=15636 + _globals['_DESCRIBETOPICRESULT_PARTITIONINFO']._serialized_end=15907 + _globals['_DESCRIBETOPICRESULT_TOPICSTATS']._serialized_start=15910 + _globals['_DESCRIBETOPICRESULT_TOPICSTATS']._serialized_end=16115 + _globals['_DESCRIBEPARTITIONREQUEST']._serialized_start=16142 + _globals['_DESCRIBEPARTITIONREQUEST']._serialized_end=16312 + _globals['_DESCRIBEPARTITIONRESPONSE']._serialized_start=16314 + _globals['_DESCRIBEPARTITIONRESPONSE']._serialized_end=16387 + _globals['_DESCRIBEPARTITIONRESULT']._serialized_start=16389 + _globals['_DESCRIBEPARTITIONRESULT']._serialized_end=16479 + _globals['_DESCRIBECONSUMERREQUEST']._serialized_start=16482 + _globals['_DESCRIBECONSUMERREQUEST']._serialized_end=16647 + _globals['_DESCRIBECONSUMERRESPONSE']._serialized_start=16649 + _globals['_DESCRIBECONSUMERRESPONSE']._serialized_end=16721 + _globals['_DESCRIBECONSUMERRESULT']._serialized_start=16724 + _globals['_DESCRIBECONSUMERRESULT']._serialized_end=17703 + _globals['_DESCRIBECONSUMERRESULT_PARTITIONINFO']._serialized_start=16892 + _globals['_DESCRIBECONSUMERRESULT_PARTITIONINFO']._serialized_end=17206 + _globals['_DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS']._serialized_start=17209 + _globals['_DESCRIBECONSUMERRESULT_PARTITIONCONSUMERSTATS']._serialized_end=17703 + _globals['_PARTITIONSTATS']._serialized_start=17706 + _globals['_PARTITIONSTATS']._serialized_end=17994 + _globals['_ALTERTOPICREQUEST']._serialized_start=17997 + _globals['_ALTERTOPICREQUEST']._serialized_end=19083 + _globals['_ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY']._serialized_start=11983 + _globals['_ALTERTOPICREQUEST_ALTERATTRIBUTESENTRY']._serialized_end=12037 + _globals['_ALTERTOPICRESPONSE']._serialized_start=19085 + _globals['_ALTERTOPICRESPONSE']._serialized_end=19151 + _globals['_ALTERTOPICRESULT']._serialized_start=19153 + _globals['_ALTERTOPICRESULT']._serialized_end=19171 + _globals['_DROPTOPICREQUEST']._serialized_start=19173 + _globals['_DROPTOPICREQUEST']._serialized_end=19264 + _globals['_DROPTOPICRESPONSE']._serialized_start=19266 + _globals['_DROPTOPICRESPONSE']._serialized_end=19331 + _globals['_DROPTOPICRESULT']._serialized_start=19333 + _globals['_DROPTOPICRESULT']._serialized_end=19350 # @@protoc_insertion_point(module_scope) diff --git a/ydb/_grpc/v6/protos/ydb_topic_pb2.pyi b/ydb/_grpc/v6/protos/ydb_topic_pb2.pyi index 1b2c2fb49..52ae992b5 100644 --- a/ydb/_grpc/v6/protos/ydb_topic_pb2.pyi +++ b/ydb/_grpc/v6/protos/ydb_topic_pb2.pyi @@ -636,6 +636,43 @@ class CommitOffsetResult(_message.Message): __slots__ = () def __init__(self) -> None: ... +class ResetOffsetRequest(_message.Message): + __slots__ = ("operation_params", "path", "consumer", "earliest", "latest", "from_written_at") + class Earliest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class Latest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class FromWrittenAt(_message.Message): + __slots__ = ("written_at",) + WRITTEN_AT_FIELD_NUMBER: _ClassVar[int] + written_at: _timestamp_pb2.Timestamp + def __init__(self, written_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + OPERATION_PARAMS_FIELD_NUMBER: _ClassVar[int] + PATH_FIELD_NUMBER: _ClassVar[int] + CONSUMER_FIELD_NUMBER: _ClassVar[int] + EARLIEST_FIELD_NUMBER: _ClassVar[int] + LATEST_FIELD_NUMBER: _ClassVar[int] + FROM_WRITTEN_AT_FIELD_NUMBER: _ClassVar[int] + operation_params: _ydb_operation_pb2.OperationParams + path: str + consumer: str + earliest: ResetOffsetRequest.Earliest + latest: ResetOffsetRequest.Latest + from_written_at: ResetOffsetRequest.FromWrittenAt + def __init__(self, operation_params: _Optional[_Union[_ydb_operation_pb2.OperationParams, _Mapping]] = ..., path: _Optional[str] = ..., consumer: _Optional[str] = ..., earliest: _Optional[_Union[ResetOffsetRequest.Earliest, _Mapping]] = ..., latest: _Optional[_Union[ResetOffsetRequest.Latest, _Mapping]] = ..., from_written_at: _Optional[_Union[ResetOffsetRequest.FromWrittenAt, _Mapping]] = ...) -> None: ... + +class ResetOffsetResponse(_message.Message): + __slots__ = ("operation",) + OPERATION_FIELD_NUMBER: _ClassVar[int] + operation: _ydb_operation_pb2.Operation + def __init__(self, operation: _Optional[_Union[_ydb_operation_pb2.Operation, _Mapping]] = ...) -> None: ... + +class ResetOffsetResult(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class MultipleWindowsStat(_message.Message): __slots__ = ("per_minute", "per_hour", "per_day") PER_MINUTE_FIELD_NUMBER: _ClassVar[int] diff --git a/ydb/_grpc/v6/ydb_topic_v1_pb2.py b/ydb/_grpc/v6/ydb_topic_v1_pb2.py index 205b2fa2d..e5e3b6173 100644 --- a/ydb/_grpc/v6/ydb_topic_v1_pb2.py +++ b/ydb/_grpc/v6/ydb_topic_v1_pb2.py @@ -26,7 +26,7 @@ from ydb._grpc.v6.protos import ydb_topic_pb2 as protos_dot_ydb__topic__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\xb7\x06\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12ydb_topic_v1.proto\x12\x0cYdb.Topic.V1\x1a\x16protos/ydb_topic.proto2\x85\x07\n\x0cTopicService\x12\x65\n\x0bStreamWrite\x12(.Ydb.Topic.StreamWriteMessage.FromClient\x1a(.Ydb.Topic.StreamWriteMessage.FromServer(\x01\x30\x01\x12\x62\n\nStreamRead\x12\'.Ydb.Topic.StreamReadMessage.FromClient\x1a\'.Ydb.Topic.StreamReadMessage.FromServer(\x01\x30\x01\x12O\n\x0c\x43ommitOffset\x12\x1e.Ydb.Topic.CommitOffsetRequest\x1a\x1f.Ydb.Topic.CommitOffsetResponse\x12L\n\x0bResetOffset\x12\x1d.Ydb.Topic.ResetOffsetRequest\x1a\x1e.Ydb.Topic.ResetOffsetResponse\x12y\n\x1aUpdateOffsetsInTransaction\x12,.Ydb.Topic.UpdateOffsetsInTransactionRequest\x1a-.Ydb.Topic.UpdateOffsetsInTransactionResponse\x12L\n\x0b\x43reateTopic\x12\x1d.Ydb.Topic.CreateTopicRequest\x1a\x1e.Ydb.Topic.CreateTopicResponse\x12R\n\rDescribeTopic\x12\x1f.Ydb.Topic.DescribeTopicRequest\x1a .Ydb.Topic.DescribeTopicResponse\x12[\n\x10\x44\x65scribeConsumer\x12\".Ydb.Topic.DescribeConsumerRequest\x1a#.Ydb.Topic.DescribeConsumerResponse\x12I\n\nAlterTopic\x12\x1c.Ydb.Topic.AlterTopicRequest\x1a\x1d.Ydb.Topic.AlterTopicResponse\x12\x46\n\tDropTopic\x12\x1b.Ydb.Topic.DropTopicRequest\x1a\x1c.Ydb.Topic.DropTopicResponseBR\n\x17tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\xf8\x01\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -35,5 +35,5 @@ _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\027tech.ydb.proto.topic.v1Z4github.com/ydb-platform/ydb-go-genproto/Ydb_Topic_V1\370\001\001' _globals['_TOPICSERVICE']._serialized_start=61 - _globals['_TOPICSERVICE']._serialized_end=884 + _globals['_TOPICSERVICE']._serialized_end=962 # @@protoc_insertion_point(module_scope) diff --git a/ydb/_grpc/v6/ydb_topic_v1_pb2_grpc.py b/ydb/_grpc/v6/ydb_topic_v1_pb2_grpc.py index 73b82796d..1ee137519 100644 --- a/ydb/_grpc/v6/ydb_topic_v1_pb2_grpc.py +++ b/ydb/_grpc/v6/ydb_topic_v1_pb2_grpc.py @@ -49,6 +49,11 @@ def __init__(self, channel): request_serializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.SerializeToString, response_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.FromString, _registered_method=True) + self.ResetOffset = channel.unary_unary( + '/Ydb.Topic.V1.TopicService/ResetOffset', + request_serializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + response_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + _registered_method=True) self.UpdateOffsetsInTransaction = channel.unary_unary( '/Ydb.Topic.V1.TopicService/UpdateOffsetsInTransaction', request_serializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.SerializeToString, @@ -126,7 +131,7 @@ def StreamRead(self, request_iterator, context): StartPartitionSessionRequest(Topic2, Partition2, PartitionSessionID2, ...) <---------------- StartPartitionSessionResponse(PartitionSessionID1, ...) - client must respond with this message to actually start receiving data messages from this partition + client must respond with this message to actually start recieving data messages from this partition ----------------> StopPartitionSessionRequest(PartitionSessionID1, ...) <---------------- @@ -155,6 +160,15 @@ def CommitOffset(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def ResetOffset(self, request, context): + """Reset committed offsets for a consumer on all topic partitions (including inactive). + Each partition is updated independently (not atomic across partitions). + Drops any active read session for this consumer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def UpdateOffsetsInTransaction(self, request, context): """Add information about offset ranges to the transaction. """ @@ -215,6 +229,11 @@ def add_TopicServiceServicer_to_server(servicer, server): request_deserializer=protos_dot_ydb__topic__pb2.CommitOffsetRequest.FromString, response_serializer=protos_dot_ydb__topic__pb2.CommitOffsetResponse.SerializeToString, ), + 'ResetOffset': grpc.unary_unary_rpc_method_handler( + servicer.ResetOffset, + request_deserializer=protos_dot_ydb__topic__pb2.ResetOffsetRequest.FromString, + response_serializer=protos_dot_ydb__topic__pb2.ResetOffsetResponse.SerializeToString, + ), 'UpdateOffsetsInTransaction': grpc.unary_unary_rpc_method_handler( servicer.UpdateOffsetsInTransaction, request_deserializer=protos_dot_ydb__topic__pb2.UpdateOffsetsInTransactionRequest.FromString, @@ -337,6 +356,33 @@ def CommitOffset(request, metadata, _registered_method=True) + @staticmethod + def ResetOffset(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/Ydb.Topic.V1.TopicService/ResetOffset', + protos_dot_ydb__topic__pb2.ResetOffsetRequest.SerializeToString, + protos_dot_ydb__topic__pb2.ResetOffsetResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def UpdateOffsetsInTransaction(request, target, diff --git a/ydb/topic.py b/ydb/topic.py index e76956abc..b47455082 100644 --- a/ydb/topic.py +++ b/ydb/topic.py @@ -23,6 +23,7 @@ "TopicReaderSettings", "TopicReaderUnexpectedCodecError", "TopicReaderPartitionExpiredError", + "TopicResetOffset", "TopicStatWindow", "TopicWriteResult", "TopicWriter", @@ -94,6 +95,7 @@ PublicMultipleWindowsStat as TopicStatWindow, PublicPartitionStats as TopicPartitionStats, PublicCodec as TopicCodec, + PublicResetOffset as TopicResetOffset, PublicConsumer as TopicConsumer, PublicAlterConsumer as TopicAlterConsumer, PublicMeteringMode as TopicMeteringMode, @@ -416,6 +418,43 @@ async def commit_offset( _wrap_operation, ) + @ydb_retry(retry_cancelled=True, idempotent=True) + async def reset_offset( + self, + path: str, + consumer: str, + *, + to: Union[TopicResetOffset, datetime.datetime], + ) -> None: + """ + Rewind committed offsets of a consumer on every topic partition, including + inactive partitions left after a split or merge. + + Partitions are updated independently: the call is not atomic across the topic, + and a failure may still leave some partitions already rewritten. Any active + read session of this consumer is dropped. + + :param path: full path to the topic + :param consumer: consumer name + :param to: :attr:`TopicResetOffset.EARLIEST`, :attr:`TopicResetOffset.LATEST`, + or a ``datetime``. A datetime rewinds to the first message with write + timestamp greater than or equal to that time; if there is no such message, + the partition end offset is used. + """ + logger.debug("Reset offset: path=%s consumer=%s to=%s", path, consumer, to) + req = _ydb_topic.ResetOffsetRequest( + path=path, + consumer=consumer, + to=to, + ) + + await self._driver( + req.to_proto(), + _apis.TopicService.Stub, + _apis.TopicService.ResetOffset, + _wrap_operation, + ) + def close(self): if self._closed: return @@ -752,6 +791,43 @@ def commit_offset( _wrap_operation, ) + @ydb_retry(retry_cancelled=True, idempotent=True) + def reset_offset( + self, + path: str, + consumer: str, + *, + to: Union[TopicResetOffset, datetime.datetime], + ) -> None: + """ + Rewind committed offsets of a consumer on every topic partition, including + inactive partitions left after a split or merge. + + Partitions are updated independently: the call is not atomic across the topic, + and a failure may still leave some partitions already rewritten. Any active + read session of this consumer is dropped. + + :param path: full path to the topic + :param consumer: consumer name + :param to: :attr:`TopicResetOffset.EARLIEST`, :attr:`TopicResetOffset.LATEST`, + or a ``datetime``. A datetime rewinds to the first message with write + timestamp greater than or equal to that time; if there is no such message, + the partition end offset is used. + """ + logger.debug("Reset offset: path=%s consumer=%s to=%s", path, consumer, to) + req = _ydb_topic.ResetOffsetRequest( + path=path, + consumer=consumer, + to=to, + ) + + self._driver( + req.to_proto(), + _apis.TopicService.Stub, + _apis.TopicService.ResetOffset, + _wrap_operation, + ) + def close(self): if self._closed: return