wangbo edited a comment on issue #2075: Segment v2 stream load core dump(#2037) URL: https://github.com/apache/incubator-doris/pull/2075#issuecomment-546769930 > I don't know why the second problem will be fixed by this PR. For page produced by BitShuffleBuilder,ColumnWriter calls finish() to get Slice,that is calling BitShuffleBuilder.fastring->data(),but fastring may return a data array which not using new to create when not grow happens. This pr using BitShuffleBuilder's finish_and_release method to produce page,that is calling BitShuffleBuilder's fastring.release,this page can be deleted by Page's Destructor; > why create finish_and_release method? The situation for PageBuilder in ColumnWriter is different from other situations, Because all data produced by PageBuilder will be kept in ColumnWriter,ColumnWriter maintains the pages and delete at some time,it seems that calling PageBuilder.finish and then calling release() is ok; But calling PageBuilder.finish means calling PageBuilder.faststring.finish,this comes back to the problem that when faststring not group,ColumnWriter will get a slice'data which not using new to create,so we must calling fastring.release to get data in ColumnWriter'context; Calling PageBuilder.finish_and_release means calling fastring.release to get data
---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org