spaces-X commented on issue #8017:
URL:
https://github.com/apache/incubator-doris/issues/8017#issuecomment-1035942556
DCHECK failure in memtracker destructor is caused by memtrack consumed the
BitmapValue without releasing later in AggregateFuncTraits::init.
As follows:
```
template <>
struct AggregateFuncTraits<OLAP_FIELD_AGGREGATION_BITMAP_UNION,
OLAP_FIELD_TYPE_OBJECT> {
static void init(RowCursorCell* dst, const char* src, bool src_null,
MemPool* mem_pool,
ObjectPool* agg_pool) {
DCHECK_EQ(src_null, false);
dst->set_not_null();
auto* src_slice = reinterpret_cast<const Slice*>(src);
auto* dst_slice = reinterpret_cast<Slice*>(dst->mutable_cell_ptr());
// we use zero size represent this slice is a agg object
dst_slice->size = 0;
auto bitmap = new BitmapValue(src_slice->data);
// here consumed size of (BitmapValue) without releasing later.
mem_pool->mem_tracker()->Consume(sizeof(BitmapValue));
dst_slice->data = (char*)bitmap;
agg_pool->add(bitmap);
}
...
}
```
Any suggestiones here or we can just skip this DCHECK ?
@morningman @liutang123
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]