Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
db6e819
Don't buffer PartitionSessionStatusResponse (#31406)
qyryq Jan 23, 2026
4599960
Topic SDK: Add direct read option (#29540)
qyryq Jan 23, 2026
cc23c48
Fixed sanitizer error (#31901)
nshestakov Jan 23, 2026
ffd3e0a
Delete optimistic VERIFY (#31955)
qyryq Jan 23, 2026
4d8f5fa
Column Shard column COMPRESSION (#29523)
neyrox Jan 23, 2026
19c137f
Add proper handling for backup collection as directory-like (#31767)
Enjection Jan 23, 2026
591885b
Removed using EnablePQConfigTransactionsAtSchemeShard feature flag (#…
nshestakov Jan 23, 2026
0eec78c
[NBS-6758]: nbs2 grpc api to start nbs partition (#32327)
vazhem Jan 23, 2026
f5639d3
fixed crash in topic SDK (#32375)
nshestakov Jan 23, 2026
68545d5
YQ-4474 add public interface to partition session control in topic sd…
GrigoriyPA Jan 23, 2026
b5119d6
[C++ SDK] Fixed session_pool flaky tests (#32478)
Gazizonoki Jan 23, 2026
eb161c3
[C++ SDK] Improved connection string parsing (#32358)
Gazizonoki Jan 23, 2026
a466a4f
[NBS-6758]: read, write events for NBS 2, grpc draft api (#32477)
vazhem Jan 23, 2026
cd148f7
More tests for commit offsets (#32502)
nshestakov Jan 23, 2026
e3de75c
Remove fulltext index layout (#32368)
azevaykin Jan 23, 2026
a1cff99
Update import generation: 33
github-actions[bot] Jan 23, 2026
0fd76db
Fixed CMakeLists for import 33
Gazizonoki Jan 23, 2026
318ed0f
[NBS-6758]: clean public api package from core nbs dependencies (#32579)
vazhem Jan 27, 2026
2d49d5c
Topics: encode binary producer id in direct read (#32490)
qyryq Jan 27, 2026
1307f42
YQ-4474 fixed sdk build (#32749)
GrigoriyPA Jan 27, 2026
e6cd3e0
Update import generation: 34
github-actions[bot] Jan 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/import_generation.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
33
35
2 changes: 1 addition & 1 deletion .github/last_commit.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
303019a794dd98ca44a77440af08bbeecf56d727
7f34dd9500921f4c8501e75e62488659cb276fb4
3 changes: 3 additions & 0 deletions include/ydb-cpp-sdk/client/driver/driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ class TDriverConfig {
//! client will connect to others nodes according to client loadbalancing
TDriverConfig& SetEndpoint(const std::string& endpoint);

//! Get endpoint, returns the endpoint set via connection string or SetEndpoint()
const std::string& GetEndpoint() const;

//! Set number of network threads, default: 2
TDriverConfig& SetNetworkThreadsNum(size_t sz);

Expand Down
1 change: 1 addition & 0 deletions include/ydb-cpp-sdk/client/scheme/scheme.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ enum class ESchemeEntryType : i32 {
SysView = 22,
Transfer = 23,
StreamingQuery = 24,
BackupCollection = 25,
};

struct TVirtualTimestamp {
Expand Down
3 changes: 2 additions & 1 deletion include/ydb-cpp-sdk/client/table/table_enum.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ enum class EIndexType {
GlobalAsync,
GlobalUnique,
GlobalVectorKMeansTree,
GlobalFulltext,
GlobalFulltextPlain,
GlobalFulltextRelevance,

Unknown = std::numeric_limits<int>::max()
};
Expand Down
23 changes: 19 additions & 4 deletions include/ydb-cpp-sdk/client/topic/read_events.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,21 @@ struct TPartitionSession: public TThrRefBase, public TPrintable<TPartitionSessio
template<>
void TPrintable<TPartitionSession>::DebugString(TStringBuilder& res, bool) const;

struct TPartitionSessionControl: public TPartitionSession {
//! Commit offsets range.
//! Can be used from TDataReceivedEvent or TDeferredCommit.
virtual void Commit(uint64_t startOffset, uint64_t endOffset) = 0;

//! Confirm partition session creation from TStartPartitionSessionEvent.
virtual void ConfirmCreate(std::optional<uint64_t> readOffset, std::optional<uint64_t> commitOffset) = 0;

//! Confirm partition session destruction from TStopPartitionSessionEvent.
virtual void ConfirmDestroy() = 0;

//! Confirm partition session end from TEndPartitionSessionEvent.
virtual void ConfirmEnd(std::span<const uint32_t> childIds) = 0;
};

//! Events for read session.
struct TReadSessionEvent {
class TPartitionSessionAccessor {
Expand All @@ -73,7 +88,7 @@ struct TReadSessionEvent {

//! Event with new data.
//! Contains batch of messages from single partition session.
struct TDataReceivedEvent : public TPartitionSessionAccessor, public TPrintable<TDataReceivedEvent> {
struct TDataReceivedEvent: public TPartitionSessionAccessor, public TPrintable<TDataReceivedEvent> {
struct TMessageInformation {
TMessageInformation(uint64_t offset,
std::string producerId,
Expand All @@ -95,7 +110,7 @@ struct TReadSessionEvent {
std::string MessageGroupId;
};

class TMessageBase : public TPrintable<TMessageBase> {
class TMessageBase: public TPrintable<TMessageBase> {
public:
TMessageBase(const std::string& data, TMessageInformation info);

Expand Down Expand Up @@ -249,7 +264,7 @@ struct TReadSessionEvent {
//! This means that from now the first available
//! message offset in current partition
//! for current consumer is this offset.
//! All messages before are committed and futher never be available.
//! All messages before are committed and further never be available.
uint64_t GetCommittedOffset() const {
return CommittedOffset;
}
Expand Down Expand Up @@ -452,4 +467,4 @@ void TPrintable<TSessionClosedEvent>::DebugString(TStringBuilder& ret, bool prin

std::string DebugString(const TReadSessionEvent::TEvent& event);

}
} // namespace NYdb::NTopic
4 changes: 2 additions & 2 deletions include/ydb-cpp-sdk/client/topic/read_session.h
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,8 @@ struct TReadSessionSettings: public TRequestSettings<TReadSessionSettings> {
//! AutoPartitioningSupport.
FLUENT_SETTING_DEFAULT(bool, AutoPartitioningSupport, false);

// TODO(qyryq) Uncomment when direct read is ready.
// FLUENT_SETTING_DEFAULT(bool, DirectRead, false);
//! Direct read from partition nodes. Experimental setting — not recommended for use.
FLUENT_SETTING_DEFAULT(bool, DirectRead, false);

//! Log.
FLUENT_SETTING_OPTIONAL(TLog, Log);
Expand Down
6 changes: 3 additions & 3 deletions include/ydb-cpp-sdk/client/topic/write_session.h
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ class ISimpleBlockingWriteSession : public TThrRefBase {

virtual bool Close(TDuration closeTimeout = TDuration::Max()) = 0;

//! Returns true if write session is alive and acitve. False if session was closed.
//! Returns true if write session is alive and active. False if session was closed.
virtual bool IsAlive() const = 0;

virtual TWriterCounters::TPtr GetCounters() = 0;
Expand Down Expand Up @@ -269,11 +269,11 @@ class IWriteSession {
//! Return true if all writes were completed and acked, false if timeout was reached and some writes were aborted.
virtual bool Close(TDuration closeTimeout = TDuration::Max()) = 0;

//! Writer counters with different stats (see TWriterConuters).
//! Writer counters with different stats (see TWriterCounters).
virtual TWriterCounters::TPtr GetCounters() = 0;

//! Close() with timeout = 0 and destroy everything instantly.
virtual ~IWriteSession() = default;
};

}
} // namespace NYdb::NTopic
30 changes: 30 additions & 0 deletions src/api/grpc/draft/ydb_nbs_v1.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
syntax = "proto3";

package Ydb.Nbs.V1;

option java_package = "com.yandex.ydb.nbs.v1";
option java_outer_classname = "NbsGrpc";
option java_multiple_files = true;

import "src/api/protos/draft/ydb_nbs.proto";

// Service for managing nbs 2.0
service NbsService {
// Create NBS partition
rpc CreatePartition(Ydb.Nbs.CreatePartitionRequest) returns (Ydb.Nbs.CreatePartitionResponse);

// Delete NBS partition
rpc DeletePartition(Ydb.Nbs.DeletePartitionRequest) returns (Ydb.Nbs.DeletePartitionResponse);

// List NBS partitions
rpc ListPartitions(Ydb.Nbs.ListPartitionsRequest) returns (Ydb.Nbs.ListPartitionsResponse);


//
// Block I/O.
//

rpc ReadBlocks(Ydb.Nbs.ReadBlocksRequest) returns (Ydb.Nbs.ReadBlocksResponse);

rpc WriteBlocks(Ydb.Nbs.WriteBlocksRequest) returns (Ydb.Nbs.WriteBlocksResponse);
}
125 changes: 125 additions & 0 deletions src/api/protos/draft/ydb_nbs.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
syntax = "proto3";
option cc_enable_arenas = true;

package Ydb.Nbs;

option java_package = "com.yandex.ydb.nbs.proto";
option java_outer_classname = "NbsProtos";
option java_multiple_files = true;

import "src/api/protos/ydb_operation.proto";


////////////////////////////////////////////////////////////////////////////////
// Partition create request/response.

message CreatePartitionRequest {
Ydb.Operations.OperationParams operation_params = 1;

// Storage pool name to use.
string StoragePoolName = 2;

// Minimum addressable block size (smallest unit of I/O operations).
uint32 BlockSize = 3;

// Maximum number of blocks stored in partition.
uint64 BlocksCount = 4;
}

message CreatePartitionResponse {
Ydb.Operations.Operation operation = 1;
}

message CreatePartitionResult {
string TabletId = 1;
}

////////////////////////////////////////////////////////////////////////////////
// Partition delete request/response.

message DeletePartitionRequest {
Ydb.Operations.OperationParams operation_params = 1;
// Partition tablet id to delete.
string TabletId = 2;
}

message DeletePartitionResponse {
Ydb.Operations.Operation operation = 1;
}

message DeletePartitionResult {
// Deleted partition tablet id.
string TabletId = 1;
}

////////////////////////////////////////////////////////////////////////////////
// Partition list request/response.

message ListPartitionsRequest {
Ydb.Operations.OperationParams operation_params = 1;
}

message ListPartitionsResponse {
Ydb.Operations.Operation operation = 1;
}

message ListPartitionsResult {
repeated string TabletId = 1;
}

////////////////////////////////////////////////////////////////////////////////
// I/O vector message.

message IOVector {
// I/O buffers.
repeated bytes Buffers = 1;
}

////////////////////////////////////////////////////////////////////////////////
// Blocks read request/response.

message ReadBlocksRequest {
Ydb.Operations.OperationParams operation_params = 1;

// Label of volume to read from.
string DiskId = 2;

// Start block index.
uint64 StartIndex = 3;

// Number of blocks to read.
uint32 BlocksCount = 4;
}

message ReadBlocksResponse {
Ydb.Operations.Operation operation = 1;
}

message ReadBlocksResult
{
// Requested blocks.
IOVector Blocks = 1;
}

////////////////////////////////////////////////////////////////////////////////
// Blocks write request/response.

message WriteBlocksRequest {
Ydb.Operations.OperationParams operation_params = 1;

// Label of volume to write to.
string DiskId = 2;

// Start block index.
uint64 StartIndex = 3;

// Blocks to write.
IOVector Blocks = 4;
}

message WriteBlocksResponse {
Ydb.Operations.Operation operation = 1;
}

message WriteBlocksResult {
}
1 change: 1 addition & 0 deletions src/api/protos/ydb_scheme.proto
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ message Entry {
EXTERNAL_DATA_SOURCE = 19;
VIEW = 20;
RESOURCE_POOL = 21;
BACKUP_COLLECTION = 22;
TRANSFER = 23;
SYS_VIEW = 24;
STREAMING_QUERY = 26;
Expand Down
Loading
Loading