diff options
| author | nsofya <[email protected]> | 2023-09-06 16:27:42 +0300 |
|---|---|---|
| committer | nsofya <[email protected]> | 2023-09-06 17:00:20 +0300 |
| commit | 561d3102e143530b7b4f8e9e8ef1d71479f1ebf0 (patch) | |
| tree | 5b2c15175a4e2cb32285b5a5fafea57c344bd04b | |
| parent | 6cf2e0df3b3ab37c820a6b4f42ba7542a6af06f0 (diff) | |
Fix dependencies
| -rw-r--r-- | ydb/core/tx/columnshard/blob.h | 13 | ||||
| -rw-r--r-- | ydb/core/tx/columnshard/blob_manager.h | 4 | ||||
| -rw-r--r-- | ydb/core/tx/columnshard/engines/writer/write_controller.h | 1 | ||||
| -rw-r--r-- | ydb/core/tx/columnshard/inflight_request_tracker.h | 14 | ||||
| -rw-r--r-- | ydb/core/tx/ev_write/columnshard_splitter.h | 1 |
5 files changed, 18 insertions, 15 deletions
diff --git a/ydb/core/tx/columnshard/blob.h b/ydb/core/tx/columnshard/blob.h index f46c542ec83..0ad18d57540 100644 --- a/ydb/core/tx/columnshard/blob.h +++ b/ydb/core/tx/columnshard/blob.h @@ -310,6 +310,19 @@ struct TBlobRange { } }; +class IBlobInUseTracker { +protected: + ~IBlobInUseTracker() = default; + +public: + // Marks the blob as "in use (or no longer in use) by an in-flight request", increments (or decrements) + // it's ref count. This will prevent the blob from beeing physically deleted when DeleteBlob() is called + // until all the references are released. + // NOTE: this ref counts are in-memory only, so the blobs can be deleted if tablet restarts + virtual bool SetBlobInUse(const NOlap::TUnifiedBlobId& blobId, bool inUse) = 0; + virtual bool BlobInUse(const NOlap::TUnifiedBlobId& blobId) const = 0; +}; + // Expected blob lifecycle: EVICTING -> SELF_CACHED -> EXTERN <-> CACHED enum class EEvictState : ui8 { UNKNOWN = 0, diff --git a/ydb/core/tx/columnshard/blob_manager.h b/ydb/core/tx/columnshard/blob_manager.h index d537e351ebb..9d4852565ca 100644 --- a/ydb/core/tx/columnshard/blob_manager.h +++ b/ydb/core/tx/columnshard/blob_manager.h @@ -4,8 +4,8 @@ #include "counters/blobs_manager.h" #include <ydb/core/tablet_flat/flat_executor.h> -#include <ydb/core/tx/columnshard/inflight_request_tracker.h> #include <ydb/core/util/backoff.h> +#include <ydb/core/protos/tx_columnshard.pb.h> #include <util/generic/string.h> @@ -140,7 +140,7 @@ struct TBlobManagerCounters { }; // The implementation of BlobManager that hides all GC-related details -class TBlobManager : public IBlobManager, public IBlobExporter, public IBlobInUseTracker { +class TBlobManager : public IBlobManager, public IBlobExporter, public NOlap::IBlobInUseTracker { private: static constexpr size_t BLOB_COUNT_TO_TRIGGER_GC_DEFAULT = 1000; static constexpr ui64 GC_INTERVAL_SECONDS_DEFAULT = 60; diff --git a/ydb/core/tx/columnshard/engines/writer/write_controller.h b/ydb/core/tx/columnshard/engines/writer/write_controller.h index df8223739e7..9636b2ebde9 100644 --- a/ydb/core/tx/columnshard/engines/writer/write_controller.h +++ b/ydb/core/tx/columnshard/engines/writer/write_controller.h @@ -5,6 +5,7 @@ #include <library/cpp/actors/core/actor.h> #include <ydb/core/tx/columnshard/blob_manager.h> +#include <ydb/core/tx/columnshard/defs.h> namespace NKikimr::NColumnShard { diff --git a/ydb/core/tx/columnshard/inflight_request_tracker.h b/ydb/core/tx/columnshard/inflight_request_tracker.h index 6edf647be93..261cdf3bc31 100644 --- a/ydb/core/tx/columnshard/inflight_request_tracker.h +++ b/ydb/core/tx/columnshard/inflight_request_tracker.h @@ -5,20 +5,8 @@ namespace NKikimr::NColumnShard { -class IBlobInUseTracker { -protected: - ~IBlobInUseTracker() = default; - -public: - // Marks the blob as "in use (or no longer in use) by an in-flight request", increments (or decrements) - // it's ref count. This will prevent the blob from beeing physically deleted when DeleteBlob() is called - // until all the references are released. - // NOTE: this ref counts are in-memory only, so the blobs can be deleted if tablet restarts - virtual bool SetBlobInUse(const NOlap::TUnifiedBlobId& blobId, bool inUse) = 0; - virtual bool BlobInUse(const NOlap::TUnifiedBlobId& blobId) const = 0; -}; - using NOlap::TReadMetadata; +using NOlap::IBlobInUseTracker; class TInFlightReadsTracker { public: diff --git a/ydb/core/tx/ev_write/columnshard_splitter.h b/ydb/core/tx/ev_write/columnshard_splitter.h index fed6f40c92e..dc0a163cde0 100644 --- a/ydb/core/tx/ev_write/columnshard_splitter.h +++ b/ydb/core/tx/ev_write/columnshard_splitter.h @@ -4,6 +4,7 @@ #include <ydb/core/tx/sharding/sharding.h> #include <ydb/core/tx/columnshard/columnshard.h> +#include <ydb/core/formats/arrow/size_calcer.h> #include <ydb/core/formats/arrow/arrow_helpers.h> |
