Skip to content

Commit 1559f01

Browse files
committed
[enhancement](profile) profile counter should always gt than 0
1 parent c7b7ad7 commit 1559f01

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

be/src/runtime/cache/result_node.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class PartitionRowBatch {
9393
private:
9494
int64_t _partition_key;
9595
PCacheValue* _cache_value = nullptr;
96-
size_t _data_size;
96+
int64_t _data_size;
9797
CacheStat _cache_stat;
9898
};
9999

@@ -175,7 +175,7 @@ class ResultNode {
175175
UniqueId _sql_key;
176176
ResultNode* _prev = nullptr;
177177
ResultNode* _next = nullptr;
178-
size_t _data_size;
178+
int64_t _data_size;
179179
PartitionRowBatchList _partition_list;
180180
PartitionRowBatchMap _partition_map;
181181
};

be/src/util/runtime_profile.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,15 +190,22 @@ class RuntimeProfile {
190190

191191
virtual Counter* clone() const { return new Counter(type(), value(), _level); }
192192

193-
virtual void update(int64_t delta) { _value.fetch_add(delta, std::memory_order_relaxed); }
193+
virtual void update(int64_t delta) {
194+
_value.fetch_add(delta, std::memory_order_relaxed);
195+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
196+
}
194197

195198
void bit_or(int64_t delta) { _value.fetch_or(delta, std::memory_order_relaxed); }
196199

197-
virtual void set(int64_t value) { _value.store(value, std::memory_order_relaxed); }
200+
virtual void set(int64_t value) {
201+
_value.store(value, std::memory_order_relaxed);
202+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
203+
}
198204

199205
virtual void set(double value) {
200206
DCHECK_EQ(sizeof(value), sizeof(int64_t));
201207
_value.store(binary_cast<double, int64_t>(value), std::memory_order_relaxed);
208+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
202209
}
203210

204211
virtual int64_t value() const { return _value.load(std::memory_order_relaxed); }
@@ -270,6 +277,7 @@ class RuntimeProfile {
270277
if (delta > 0) {
271278
UpdateMax(current_value_);
272279
}
280+
DCHECK_GT(current_value_.load(std::memory_order_seq_cst), -1L);
273281
}
274282
virtual void update(int64_t delta) override { add(delta); }
275283

@@ -331,6 +339,7 @@ class RuntimeProfile {
331339
void set(int64_t v) override {
332340
current_value_.store(v, std::memory_order_relaxed);
333341
UpdateMax(v);
342+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
334343
}
335344

336345
int64_t current_value() const { return current_value_.load(std::memory_order_relaxed); }

be/src/vec/common/sort/heap_sorter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class HeapSorter final : public Sorter {
5050

5151
private:
5252
void _do_filter(MergeSortCursorImpl& block, size_t num_rows);
53-
size_t _data_size = 0;
53+
int64_t _data_size = 0;
5454
size_t _heap_size = 0;
5555
size_t _queue_row_num = 0;
5656
MergeSorterQueue _queue;

0 commit comments

Comments
 (0)