diff options
author | komels <komels@ydb.tech> | 2022-12-09 15:14:13 +0300 |
---|---|---|
committer | komels <komels@ydb.tech> | 2022-12-09 15:14:13 +0300 |
commit | b1c604aaa95b3053251ce7420a18ca07c8cff8d6 (patch) | |
tree | e32d8789f9d5d72ec5cb1a4b13bb3a6d29de0e4f | |
parent | b15acf7c8637a386caddf80b785a6eaeb72cac4f (diff) | |
download | ydb-b1c604aaa95b3053251ce7420a18ca07c8cff8d6.tar.gz |
Fix seq-no shift
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_persqueue_core/impl/write_session.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/ydb/public/sdk/cpp/client/ydb_persqueue_core/impl/write_session.cpp b/ydb/public/sdk/cpp/client/ydb_persqueue_core/impl/write_session.cpp index a7572339ae0..33e17f2bc36 100644 --- a/ydb/public/sdk/cpp/client/ydb_persqueue_core/impl/write_session.cpp +++ b/ydb/public/sdk/cpp/client/ydb_persqueue_core/impl/write_session.cpp @@ -246,7 +246,7 @@ void TWriteSession::OnCdsResponse( OnSeqNoShift = false; } else { // Switched from initial cluster to second one; Y_VERIFY(CurrentCluster == InitialCluster); - if (!AutoSeqNoMode.Defined() || !(*AutoSeqNoMode)) + if (AutoSeqNoMode.GetOrElse(true)) OnSeqNoShift = true; } @@ -300,11 +300,6 @@ ui64 TWriteSession::GetNextSeqNoImpl(const TMaybe<ui64>& seqNo) { ui64 seqNoValue = LastSeqNo + 1; if (!AutoSeqNoMode.Defined()) { AutoSeqNoMode = !seqNo.Defined(); - //! Disable SeqNo shift for manual SeqNo mode; - if (seqNo.Defined()) { - OnSeqNoShift = false; - SeqNoShift = 0; - } } if (seqNo.Defined()) { if (*AutoSeqNoMode) { @@ -315,6 +310,10 @@ ui64 TWriteSession::GetNextSeqNoImpl(const TMaybe<ui64>& seqNo) { ThrowFatalError( "Cannot call write() with defined SeqNo on WriteSession running in auto-seqNo mode" ); + + //! Disable SeqNo shift for manual SeqNo mode; + OnSeqNoShift = false; + SeqNoShift = 0; } else { seqNoValue = *seqNo; } |