aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobdrynkin <robdrynkin@yandex-team.com>2023-10-10 13:51:26 +0300
committerrobdrynkin <robdrynkin@yandex-team.com>2023-10-10 14:52:33 +0300
commit13ce9e31dbde797ddeb98e94172fc9ad61b1ff52 (patch)
tree5538a6cbda97a659b67a62ee7a3b78c0d44df513
parent89249de51f7fbc165ebf2de7354b54f1f89f8e5f (diff)
downloadydb-13ce9e31dbde797ddeb98e94172fc9ad61b1ff52.tar.gz
KIKIMR-19471: Color log chunks details
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl_http.cpp5
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_state.h2
3 files changed, 8 insertions, 1 deletions
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp
index 85c4a40aee8..c0be406a661 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp
@@ -744,6 +744,7 @@ void TPDisk::AskVDisksToCutLogs(TOwner ownerFilter, bool doForce) {
<< " cutLog# " << cutLog->ToString());
ActorSystem->Send(new IEventHandle(OwnerData[chunkOwner].CutLogId, PDiskActor, cutLog.Release(),
IEventHandle::FlagTrackDelivery, 0));
+ OwnerData[chunkOwner].AskedFreeUpToLsn = lsn;
OwnerData[chunkOwner].AskedToCutLogAt = now;
// ADD_RECORD_WITH_TIMESTAMP_TO_OPERATION_LOG(OwnerData[chunkOwner].OperationLog, "System owner asked to cut log, OwnerId# " << chunkOwner);
} else {
@@ -788,6 +789,7 @@ void TPDisk::AskVDisksToCutLogs(TOwner ownerFilter, bool doForce) {
}
ActorSystem->Send(new IEventHandle(OwnerData[ownerFilter].CutLogId, PDiskActor, cutLog.Release(),
IEventHandle::FlagTrackDelivery, 0));
+ OwnerData[ownerFilter].AskedFreeUpToLsn = lsn;
OwnerData[ownerFilter].AskedToCutLogAt = now;
// ADD_RECORD_WITH_TIMESTAMP_TO_OPERATION_LOG(OwnerData[ownerFilter].OperationLog, "User owner asked to cut log, OwnerId# " << ownerFilter);
} else {
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl_http.cpp b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl_http.cpp
index ed176579cc7..2e0d94d9af3 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl_http.cpp
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl_http.cpp
@@ -287,9 +287,12 @@ void TPDisk::OutputHtmlLogChunksDetails(TStringStream &str) {
for (ui32 owner : activeOwners) {
if (owner < it->OwnerLsnRange.size()) {
const TLogChunkInfo::TLsnRange &range = it->OwnerLsnRange[owner];
+ const auto askedFreeUpToLsn = OwnerData[owner].AskedFreeUpToLsn;
if (range.IsPresent) {
TABLED() {
- str << "[" << range.FirstLsn << ", " << range.LastLsn << "]";
+ str << "<font color=\"" << (range.LastLsn < askedFreeUpToLsn ? "red" : "black") <<"\">"
+ << "[" << range.FirstLsn << ", " << range.LastLsn << "]"
+ << "</font>";
}
} else {
TABLED() {str << "-";}
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_state.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_state.h
index a8ccc2d741d..9625e138e40 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_state.h
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_state.h
@@ -68,6 +68,7 @@ struct TOwnerData {
ui64 LogRecordsConsequentlyRead = 0;
TOwnerRound OwnerRound = 0;
TInstant AskedToCutLogAt;
+ ui64 AskedFreeUpToLsn = 0;
TInstant CutLogAt;
ui64 LastSeenLsn = 0;
bool HasAlreadyLoggedThisIncarnation = false;
@@ -157,6 +158,7 @@ struct TOwnerData {
str << " LogRecordsConsequentlyRead# " << LogRecordsConsequentlyRead;
str << " OwnerRound# " << OwnerRound;
str << " AskedToCutLogAt# " << AskedToCutLogAt;
+ str << " AskedFreeUpToLsn# " << AskedFreeUpToLsn;
str << " CutLogAt# " << CutLogAt;
str << " LastSeenLsn# " << LastSeenLsn;
if (HasAlreadyLoggedThisIncarnation) {