diff options
| -rw-r--r-- | yt/yt/client/api/queue_client.h | 2 | ||||
| -rw-r--r-- | yt/yt/core/misc/memory_usage_tracker.h | 11 | ||||
| -rw-r--r-- | yt/yt/core/misc/public.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/yt/yt/client/api/queue_client.h b/yt/yt/client/api/queue_client.h index a50cd9da1bf..ad489e547ae 100644 --- a/yt/yt/client/api/queue_client.h +++ b/yt/yt/client/api/queue_client.h @@ -27,6 +27,8 @@ struct TPullRowsOptions NChaosClient::TReplicationProgress ReplicationProgress; NTransactionClient::TTimestamp UpperTimestamp = NTransactionClient::NullTimestamp; NTableClient::TTableSchemaPtr TableSchema; + i64 MaxDataWeight = 1_GB; + IReservingMemoryUsageTrackerPtr MemoryTracker; }; struct TPullRowsResult diff --git a/yt/yt/core/misc/memory_usage_tracker.h b/yt/yt/core/misc/memory_usage_tracker.h index 00d93cb30fa..bcd132e8ed1 100644 --- a/yt/yt/core/misc/memory_usage_tracker.h +++ b/yt/yt/core/misc/memory_usage_tracker.h @@ -41,6 +41,17 @@ struct IMemoryUsageTracker DEFINE_REFCOUNTED_TYPE(IMemoryUsageTracker) +///////////////////////////////////////////////////////////////////////////// + +struct IReservingMemoryUsageTracker + : public IMemoryUsageTracker +{ + virtual void ReleaseUnusedReservation() = 0; + virtual TError TryReserve(i64 size) = 0; +}; + +DEFINE_REFCOUNTED_TYPE(IReservingMemoryUsageTracker) + //////////////////////////////////////////////////////////////////////////////// IMemoryUsageTrackerPtr GetNullMemoryUsageTracker(); diff --git a/yt/yt/core/misc/public.h b/yt/yt/core/misc/public.h index 77464ae3662..7efd15b7388 100644 --- a/yt/yt/core/misc/public.h +++ b/yt/yt/core/misc/public.h @@ -173,6 +173,7 @@ DEFINE_ENUM(EProcessErrorCode, //////////////////////////////////////////////////////////////////////////////// DECLARE_REFCOUNTED_STRUCT(IMemoryUsageTracker) +DECLARE_REFCOUNTED_STRUCT(IReservingMemoryUsageTracker) //////////////////////////////////////////////////////////////////////////////// |
