aryash45 commented on code in PR #60776:
URL: https://github.com/apache/doris/pull/60776#discussion_r2821025782
##########
be/src/vec/columns/column_string.cpp:
##########
@@ -238,7 +238,28 @@ void ColumnStr<T>::insert_many_from(const IColumn& src,
size_t position, size_t
template <typename T>
void ColumnStr<T>::insert_indices_from(const IColumn& src, const uint32_t*
indices_begin,
const uint32_t* indices_end) {
+ if (indices_begin == indices_end) {
+ return;
Review Comment:
Hey, I traced the call chain and the indices come from
channel_add_rows_with_idx in the exchange sink path — specifically during
_send_new_partition_batch which recursively calls sink(). That recursive flow
seems to be where stale indices get produced.
I couldn't fully reproduce though since I don't have a multi-node cluster to
trigger the exact INSERT...SELECT scenario. Do you have any tips on reproducing
this, or would fixing the validation at MutableBlock::add_rows (which only has
a DCHECK, stripped in release) be an acceptable approach?
--
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]