diff options
author | serg-belyakov <serg-belyakov@yandex-team.com> | 2023-01-24 15:43:47 +0300 |
---|---|---|
committer | serg-belyakov <serg-belyakov@yandex-team.com> | 2023-01-24 15:43:47 +0300 |
commit | 2921faed8aa81f1b094500a99de13115d1f01aeb (patch) | |
tree | f248339a04499555ad291253eaf3cb6c938dbf70 | |
parent | 57c70077b6f99797a7cfc5d77c9d8b3db32085a8 (diff) | |
download | ydb-2921faed8aa81f1b094500a99de13115d1f01aeb.tar.gz |
Improve blob depot tests,
ERROR handling
remove some comments
-rw-r--r-- | ydb/core/blobstorage/ut_blobstorage/blob_depot_event_managers.cpp | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/ydb/core/blobstorage/ut_blobstorage/blob_depot_event_managers.cpp b/ydb/core/blobstorage/ut_blobstorage/blob_depot_event_managers.cpp index 50a8377c84..9066372453 100644 --- a/ydb/core/blobstorage/ut_blobstorage/blob_depot_event_managers.cpp +++ b/ydb/core/blobstorage/ut_blobstorage/blob_depot_event_managers.cpp @@ -86,22 +86,17 @@ void VerifyTEvPutResult(TAutoPtr<TEventHandle<TEvBlobStorage::TEvPutResult>> res blob.Status = TBlobInfo::EStatus::WRITTEN; } else if (status == NKikimrProto::ERROR) { blob.Status = TBlobInfo::EStatus::UNKNOWN; + return; } if (blob.Id.Generation() <= blockedGen) { - if (status == NKikimrProto::ALREADY) { - Cerr << "TEvPut got ALREADY instead of BLOCKED" << Endl; - } else { - UNIT_ASSERT_VALUES_EQUAL_C(status, NKikimrProto::BLOCKED, - TStringBuilder() << "Successful put over the barrier, blob id# " << blob.Id.ToString() << ", blocked generation# " << blockedGen); - } + UNIT_ASSERT_VALUES_EQUAL_C(status, NKikimrProto::BLOCKED, TStringBuilder() << + "Unblocked put over the barrier, blob id# " << blob.Id.ToString() << ", blocked generation# " << blockedGen); } else if (IsCollected(blob, softCollectGen, softCollectStep, hardCollectGen, hardCollectStep) ) { if (status == NKikimrProto::OK) { Cerr << "Put over the barrier, blob id# " << blob.Id.ToString() << Endl; - } else if (status == NKikimrProto::ERROR) { - Cerr << "Unexpected Error" << Endl; } else if (status != NKikimrProto::NODATA) { - UNIT_FAIL("Unexpected status"); + UNIT_FAIL("Unexpected status: " << NKikimrProto::EReplyStatus_Name(status)); } } else if (status != NKikimrProto::OK && status != NKikimrProto::ERROR) { UNIT_FAIL(TStringBuilder() << "Unexpected status: " << NKikimrProto::EReplyStatus_Name(status)); @@ -132,7 +127,6 @@ void SendTEvGet(TEnvironmentSetup& env, TActorId sender, ui32 groupId, TLogoBlob TAutoPtr<TEventHandle<TEvBlobStorage::TEvGetResult>> CaptureTEvGetResult(TEnvironmentSetup& env, TActorId sender, bool termOnCapture, bool withDeadline) { const TInstant deadline = withDeadline ? env.Runtime->GetClock() + TDuration::Seconds(10) : TInstant::Max(); auto res = env.WaitForEdgeActorEvent<TEvBlobStorage::TEvGetResult>(sender, termOnCapture, deadline); - // if (res.Get() == nullptr) { Cerr << "TEvGet didn't return" << Endl; return nullptr; } // <- Temporary solution UNIT_ASSERT(res); #ifdef LOG_GET @@ -190,7 +184,6 @@ void VerifiedGet(TEnvironmentSetup& env, ui32 nodeId, ui32 groupId, auto sender = env.Runtime->AllocateEdgeActor(nodeId); SendTEvGet(env, sender, groupId, blob.Id, mustRestoreFirst, isIndexOnly, forceBlockTabletData); auto res = CaptureTEvGetResult(env, sender, true, withDeadline); - // if (!res) { return; } // <- Temporary solution VerifyTEvGetResult(res.Release(), blob, mustRestoreFirst, isIndexOnly, forceBlockTabletData, state); } @@ -222,7 +215,6 @@ void SendTEvGet(TEnvironmentSetup& env, TActorId sender, ui32 groupId, std::vect TAutoPtr<TEventHandle<TEvBlobStorage::TEvGetResult>> CaptureMultiTEvGetResult(TEnvironmentSetup& env, TActorId sender, bool termOnCapture, bool withDeadline) { const TInstant deadline = withDeadline ? env.Runtime->GetClock() + TDuration::Seconds(10) : TInstant::Max(); auto res = env.WaitForEdgeActorEvent<TEvBlobStorage::TEvGetResult>(sender, termOnCapture, deadline); - // if (!res) { Cerr << "TEvDiscover didn't return" << Endl; return nullptr; } // <- Temporary Solution UNIT_ASSERT(res); #ifdef LOG_MULTIGET @@ -279,7 +271,6 @@ void VerifiedGet(TEnvironmentSetup& env, ui32 nodeId, ui32 groupId, std::vector< SendTEvGet(env, sender, groupId, blobs, mustRestoreFirst, isIndexOnly, forceBlockTabletData); auto res = CaptureMultiTEvGetResult(env, sender, true, withDeadline); - // if (!res) { return; } // <- Temporary solution VerifyTEvGetResult(res.Release(), blobs, mustRestoreFirst, isIndexOnly, forceBlockTabletData, state); } @@ -395,7 +386,6 @@ void SendTEvDiscover(TEnvironmentSetup& env, TActorId sender, ui32 groupId, ui64 TAutoPtr<TEventHandle<TEvBlobStorage::TEvDiscoverResult>> CaptureTEvDiscoverResult(TEnvironmentSetup& env, TActorId sender, bool termOnCapture, bool withDeadline) { const TInstant deadline = withDeadline ? env.Runtime->GetClock() + TDuration::Seconds(10) : TInstant::Max(); auto res = env.WaitForEdgeActorEvent<TEvBlobStorage::TEvDiscoverResult>(sender, termOnCapture, deadline); - // if (!res) { Cerr << "TEvDiscover didn't return" << Endl; return nullptr; } // <- Temporary Solution UNIT_ASSERT_C(res, "Timeout - no TEvDiscoverResult received"); #ifdef LOG_DISCOVER @@ -414,7 +404,6 @@ void VerifyTEvDiscoverResult(TAutoPtr<TEventHandle<TEvBlobStorage::TEvDiscoverRe Y_UNUSED(forceBlockedGeneration); Y_UNUSED(fromLeader); - // if (!res) { return; } // <- Temporary solution UNIT_ASSERT(res); auto status = res->Get()->Status; @@ -535,10 +524,7 @@ void VerifyTEvCollectGarbageResult(TAutoPtr<TEventHandle<TEvBlobStorage::TEvColl NKikimrProto::EReplyStatus status = res->Get()->Status; if (blockedGen >= recordGeneration) { - UNIT_ASSERT_VALUES_EQUAL(res->Get()->Status, NKikimrProto::BLOCKED); // <- known bug in blob depot - if (status == NKikimrProto::ALREADY) { - Cerr << "Race detected, expected status BLOCKED" << Endl; - } else { + if (status != NKikimrProto::ERROR) { UNIT_ASSERT_VALUES_EQUAL(status, NKikimrProto::BLOCKED); } } else { @@ -638,10 +624,10 @@ void VerifyTEvBlockResult(TAutoPtr<TEventHandle<TEvBlobStorage::TEvBlockResult>> NKikimrProto::EReplyStatus status = res->Get()->Status; if (generation < blockedGen) { UNIT_ASSERT_VALUES_UNEQUAL(status, NKikimrProto::OK); - if (status == NKikimrProto::ERROR) { - Cerr << "TEvBlock: Unexpected error" << Endl; - } else if (status == NKikimrProto::BLOCKED) { + if (status == NKikimrProto::BLOCKED) { Cerr << "TEvBlock: Detect race" << Endl; + } else if (status == NKikimrProto::ERROR) { + Cerr << "Unexpected ERROR" << Endl; } else { UNIT_ASSERT_VALUES_EQUAL(status, NKikimrProto::ALREADY); } |