Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/24089 )
Change subject: IMPALA-14850: Codegen tuple DeepCopy for hash join ...................................................................... Patch Set 19: (4 comments) Looked through the patch at high level, didn't dive yet to the tests http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/exec/partitioned-hash-join-builder.cc File be/src/exec/partitioned-hash-join-builder.cc: http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/exec/partitioned-hash-join-builder.cc@1455 PS19, Line 1455: if (deep_copy_codegen_status.ok()) { Is it ok for this to be non ok? Shouldn't the function return an error in this case? http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/runtime/buffered-tuple-stream.h File be/src/runtime/buffered-tuple-stream.h: http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/runtime/buffered-tuple-stream.h@724 PS19, Line 724: static bool CopyString(const Tuple *tuple, int null_byte_offset, uint8_t null_bit_mask, : int tuple_offset, uint8_t** data, const uint8_t* data_end); : : static bool CopyTupleNullIndicators(TupleRow* row, int num_tuples, uint8_t** data, : const uint8_t* data_end); : : static bool CopyTupleFixedLen(TupleRow* row, int tuple_idx, int tuple_size, : int8_t** data, const int8_t* data_end, bool check_null); These could have IR_ALWAYS_INLINE http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/runtime/buffered-tuple-stream.cc File be/src/runtime/buffered-tuple-stream.cc: http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/runtime/buffered-tuple-stream.cc@1007 PS19, Line 1007: // %result = call i1 : // @_ZN6impala19BufferedTupleStream17CopyTupleFixedLenEPNS_8TupleRowEiiPPaPKab : // (%"class.impala::TupleRow"* %row, i32 0, i32 17, i8** %data, i8* %data_end, : // i1 false) This is the non-optimized code, right? I would expect CopyTupleFixedLen to be inlined in final IR. http://gerrit.cloudera.org:8080/#/c/24089/19/be/src/runtime/buffered-tuple-stream.cc@1091 PS19, Line 1091: ok_block nit: maybe another name would be better than "ok"? It suggests not having error to me, while false just means that it doesn't fit to the current buffer -- To view, visit http://gerrit.cloudera.org:8080/24089 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I63e32babdbaf56095478c6c66afb9cb91189f946 Gerrit-Change-Number: 24089 Gerrit-PatchSet: 19 Gerrit-Owner: Balazs Hevele <[email protected]> Gerrit-Reviewer: Balazs Hevele <[email protected]> Gerrit-Reviewer: Csaba Ringhofer <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Comment-Date: Tue, 31 Mar 2026 11:44:07 +0000 Gerrit-HasComments: Yes
