diff --git a/be/src/exprs/bloom_filter_func.h b/be/src/exprs/bloom_filter_func.h index 54ad7502810484..674a429581643b 100644 --- a/be/src/exprs/bloom_filter_func.h +++ b/be/src/exprs/bloom_filter_func.h @@ -157,19 +157,18 @@ class BloomFilterFuncBase : public RuntimeFilterFuncBase { return Status::InternalError("bloomfilter_func is nullptr"); } if (bloomfilter_func->_bloom_filter == nullptr) { - return Status::InternalError("bloomfilter_func->_bloom_filter is nullptr"); + return Status::InternalError( + "bloomfilter_func->_bloom_filter is nullptr, bloomfilter_func->inited: {}", + bloomfilter_func->_inited); } // If `_inited` is false, there is no memory allocated in bloom filter and this is the first // call for `merge` function. So we just reuse this bloom filter, and we don't need to // allocate memory again. if (!_inited) { - auto* other_func = static_cast(bloomfilter_func); if (_bloom_filter != nullptr) { - return Status::InternalError("_bloom_filter must is nullptr"); + return Status::InternalError("_bloom_filter must is nullptr, inited: {}", _inited); } - _bloom_filter = bloomfilter_func->_bloom_filter; - _bloom_filter_alloced = other_func->_bloom_filter_alloced; - _inited = true; + light_copy(bloomfilter_func); return Status::OK(); } auto* other_func = static_cast(bloomfilter_func); @@ -207,7 +206,8 @@ class BloomFilterFuncBase : public RuntimeFilterFuncBase { bool contain_null() const { if (!_bloom_filter) { - throw Exception(ErrorCode::INTERNAL_ERROR, "_bloom_filter is nullptr"); + throw Exception(ErrorCode::INTERNAL_ERROR, "_bloom_filter is nullptr, inited: {}", + _inited); } return _bloom_filter->contain_null(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index 115614a41873a6..f977c3ccb05f17 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -1202,10 +1202,10 @@ public enum IgnoreSplitType { @VariableMgr.VarAttr(name = RUNTIME_FILTER_TYPE, fuzzy = true, needForward = true) private int runtimeFilterType = 12; - @VariableMgr.VarAttr(name = RUNTIME_FILTER_MAX_IN_NUM, needForward = true) + @VariableMgr.VarAttr(name = RUNTIME_FILTER_MAX_IN_NUM, needForward = true, fuzzy = true) private int runtimeFilterMaxInNum = 1024; - @VariableMgr.VarAttr(name = ENABLE_SYNC_RUNTIME_FILTER_SIZE, needForward = true) + @VariableMgr.VarAttr(name = ENABLE_SYNC_RUNTIME_FILTER_SIZE, needForward = true, fuzzy = true) private boolean enableSyncRuntimeFilterSize = true; @VariableMgr.VarAttr(name = ENABLE_PARALLEL_RESULT_SINK, needForward = true, fuzzy = true) @@ -1456,7 +1456,7 @@ public void setEnableLeftZigZag(boolean enableLeftZigZag) { @VariableMgr.VarAttr(name = BROADCAST_HASHTABLE_MEM_LIMIT_PERCENTAGE, needForward = true) private double broadcastHashtableMemLimitPercentage = 0.2; - @VariableMgr.VarAttr(name = ENABLE_RUNTIME_FILTER_PRUNE, needForward = true) + @VariableMgr.VarAttr(name = ENABLE_RUNTIME_FILTER_PRUNE, needForward = true, fuzzy = true) public boolean enableRuntimeFilterPrune = true; /**