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

Reply via email to