summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--yt/yt/client/api/queue_client.h2
-rw-r--r--yt/yt/core/misc/memory_usage_tracker.h11
-rw-r--r--yt/yt/core/misc/public.h1
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)
////////////////////////////////////////////////////////////////////////////////