Kurt Deschler has posted comments on this change. ( http://gerrit.cloudera.org:8080/20850 )
Change subject: IMPALA-12533: Support row materialization outside of fetch lock ...................................................................... Patch Set 11: (7 comments) http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/codegen/llvm-codegen-test.cc File be/src/codegen/llvm-codegen-test.cc: http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/codegen/llvm-codegen-test.cc@459 PS10, Line 459: llvm::Value* llvm_len1 = codegen->GetI32Constant(strlen(data1)); : llvm::Value* llvm_len2 = codegen->GetI32Constant(strlen(data > Nit: The shared_ptr should be freed automatically at the end of this functi Done http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/codegen/llvm-codegen-test.cc@525 PS10, Line 525: // state. > Nit: The shared_ptr will get reset at the end of the function, so the "code Done http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/codegen/llvm-codegen-test.cc@553 PS10, Line 553: llvm::Function* complete_fn = complete_prototype.GeneratePrototype(&builder, nullpt > Same thing as above. Done http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/codegen/llvm-codegen.h File be/src/codegen/llvm-codegen.h: http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/codegen/llvm-codegen.h@666 PS10, Line 666: MemTracker* parent_mem_tracker, const std::string& file, : const std::string& id, std::unique_ptr<LlvmCodeGen>* codegen); : > Nit: I think this might be the last use of boost::scoped_ptr in this file. Changed to unique_ptr. shared_ptr uses atomic primitives and is more expensive at runtime. http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/exprs/expr-codegen-test.cc File be/src/exprs/expr-codegen-test.cc: http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/exprs/expr-codegen-test.cc@360 PS10, Line 360: } > Nit: Same comment as elsewhere, this reset() call is not strictly necessary Done http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/runtime/row-batch.h File be/src/runtime/row-batch.h: http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/runtime/row-batch.h@327 PS10, Line 327: /// Deep copy num_rows from this row batch into dst stating at start_idx, using memory : /// allocated from dst's tuple_data_pool_. : /// This variant supports copy of a subset of the rows and non-empty dst ror batch : /// TODO: the current implementation of DeepCopyRows can produce an oversized : /// row batch if there are duplicate tuples in this row ba > Two thoughts: Done http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/runtime/row-batch.cc File be/src/runtime/row-batch.cc: http://gerrit.cloudera.org:8080/#/c/20850/10/be/src/runtime/row-batch.cc@484 PS10, Line 484: void RowBatch::DeepCopyRows(RowBatch* dst, int start_idx, int num_row > One other DCHECK we can do is to assert that the source and destination are Done -- To view, visit http://gerrit.cloudera.org:8080/20850 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If9512aa6022dbcf81e7eb5f559853b89fe80bd23 Gerrit-Change-Number: 20850 Gerrit-PatchSet: 11 Gerrit-Owner: Kurt Deschler <kdesc...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Joe McDonnell <joemcdonn...@cloudera.com> Gerrit-Reviewer: Kurt Deschler <kdesc...@cloudera.com> Gerrit-Reviewer: Michael Smith <michael.sm...@cloudera.com> Gerrit-Comment-Date: Tue, 30 Jan 2024 19:56:05 +0000 Gerrit-HasComments: Yes