Skip to content

Commit

Permalink
correction
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanmorozov333 committed Jan 2, 2025
1 parent 8620447 commit f9ccf90
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 5 deletions.
3 changes: 3 additions & 0 deletions ydb/core/tx/columnshard/columnshard_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ class TWaitEraseTablesTxSubscriber;
class TTxBlobsWritingFinished;
class TTxBlobsWritingFailed;
class TWriteTasksQueue;
class TWriteTask;

namespace NLoading {
class TInsertTableInitializer;
Expand Down Expand Up @@ -230,6 +231,8 @@ class TColumnShard: public TActor<TColumnShard>, public NTabletFlatExecutor::TTa
friend class NLoading::TInFlightReadsInitializer;
friend class NLoading::TSpecialValuesInitializer;
friend class NLoading::TTablesManagerInitializer;
friend class TWriteTasksQueue;
friend class TWriteTask;

class TTxProgressTx;
class TTxProposeCancel;
Expand Down
14 changes: 10 additions & 4 deletions ydb/core/tx/columnshard/tablet/write_queue.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
#include "write_queue.h"

#include <ydb/core/tx/columnshard/columnshard_impl.h>
#include <ydb/core/tx/columnshard/operations/write_data.h>
#include <ydb/core/tx/data_events/write_data.h>

namespace NKikimr::NColumnShard {

bool TWriteTask::CheckOverloadImmediate(TColumnShard* owner, const TActorContext& ctx) {
auto overloadStatus = owner->CheckOverloadedImmediate(PathId);
if (overloadStatus == EOverloadStatus::None) {
if (overloadStatus == TColumnShard::EOverloadStatus::None) {
return false;
}
owner->Counters.GetWritesMonitor()->OnFinishWrite(ArrowData->GetSize());
Expand All @@ -19,12 +21,12 @@ bool TWriteTask::CheckOverloadImmediate(TColumnShard* owner, const TActorContext
}

bool TWriteTask::Execute(TColumnShard* owner, const TActorContext& ctx) {
overloadStatus = owner->CheckOverloadedWait(PathId);
if (overloadStatus == EOverloadStatus::OverloadMetadata) {
auto overloadStatus = owner->CheckOverloadedWait(PathId);
if (overloadStatus == TColumnShard::EOverloadStatus::OverloadMetadata) {
AFL_DEBUG(NKikimrServices::TX_COLUMNSHARD_WRITE)("event", "wait_overload")("status", overloadStatus);
return false;
}
AFL_VERIFY(overloadStatus == EOverloadStatus::None);
AFL_VERIFY(overloadStatus == TColumnShard::EOverloadStatus::None);

owner->OperationsManager->RegisterLock(LockId, owner->Generation());
auto writeOperation = owner->OperationsManager->RegisterOperation(
Expand All @@ -44,6 +46,10 @@ bool TWriteTask::Execute(TColumnShard* owner, const TActorContext& ctx) {
return true;
}

ui64 TWriteTask::GetSize() const {
return ArrowData->GetSize();
}

bool TWriteTasksQueue::Drain(const bool onWakeup, const TActorContext& ctx) {
if (onWakeup) {
WriteTasksOverloadCheckerScheduled = false;
Expand Down
5 changes: 4 additions & 1 deletion ydb/core/tx/columnshard/tablet/write_queue.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
#include <ydb/core/tx/columnshard/engines/scheme/versions/abstract_scheme.h>
#include <ydb/core/tx/columnshard/operations/write.h>
#include <ydb/core/tx/data_events/common/modification_type.h>
#include <ydb/core/tx/data_events/write_data.h>

namespace NKikimr::NColumnShard {
class TColumnShard;
class TArrowData;
class TWriteTask: TMoveOnly {
private:
std::shared_ptr<TArrowData> ArrowData;
Expand Down Expand Up @@ -34,10 +34,13 @@ class TWriteTask: TMoveOnly {
, Behaviour(behaviour) {
}

ui64 GetSize() const;

const TMonotonic& GetCreatedMonotonic() const {
return Created;
}

bool CheckOverloadImmediate(TColumnShard* owner, const TActorContext& ctx);
bool Execute(TColumnShard* owner, const TActorContext& ctx);
};

Expand Down

0 comments on commit f9ccf90

Please sign in to comment.