[Impala-ASF-CR] IMPALA-4383: Ensure plan fragment report thread is always started
Henry Robinson has uploaded a new change for review. http://gerrit.cloudera.org:8080/4864 Change subject: IMPALA-4383: Ensure plan fragment report thread is always started .. IMPALA-4383: Ensure plan fragment report thread is always started PlanFragmentExecutor::report_thread_active_ was set during OpenInternal() after ReportProfile() - run in a different thread - signalled that it was running. Howeer, ReportProfile() reads report_thread_active_ to determine if it should exit its loop. If it runs fast enough, ReportProfile() will never see report_thread_active_ == true. This patch moves setting report_thread_active_ to ReportProfile() - slightly earlier, but visible at almost the same time because it is now correctly protected by report_thread_lock_. Testing: * TestRPCTimeout would hit this in certain configurations. Ran test_execplanfragment_timeout() for 90 minutes with no failures; previously it would fail within the first five attempts repeatedly. Change-Id: I5d3cab4cc5245014758e6b70dec7a706a7fa929b --- M be/src/runtime/plan-fragment-executor.cc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/64/4864/1 -- To view, visit http://gerrit.cloudera.org:8080/4864 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5d3cab4cc5245014758e6b70dec7a706a7fa929b Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Henry Robinson
[Impala-ASF-CR] IMPALA 2523: Make HdfsTableSink aware of clustered input
Lars Volker has posted comments on this change. Change subject: IMPALA_2523: Make HdfsTableSink aware of clustered input .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/4863/1/be/src/exec/hdfs-table-sink.cc File be/src/exec/hdfs-table-sink.cc: Line 594: WriteClusteredRowBatch(state, batch); this case is exercised by the tests for IMPALA-2521, however we don't have tests (yet) that make sure we actually ever have one partition output file open. Any ideas how I could test this easily with our current infrastructure? -- To view, visit http://gerrit.cloudera.org:8080/4863 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ibeda0bdabbfe44c8ac95bf7c982a75649e1b82d0 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Lars VolkerGerrit-Reviewer: Lars Volker Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA 2523: Make HdfsTableSink aware of clustered input
Lars Volker has uploaded a new change for review. http://gerrit.cloudera.org:8080/4863 Change subject: IMPALA_2523: Make HdfsTableSink aware of clustered input .. IMPALA_2523: Make HdfsTableSink aware of clustered input IMPALA-2521 introduced clustering for insert statements. This change makes the HdfsTableSink aware of clustered inputs, so that partitions are opened, written, and closed one by one. Change-Id: Ibeda0bdabbfe44c8ac95bf7c982a75649e1b82d0 --- M be/src/exec/hdfs-table-sink.cc M be/src/exec/hdfs-table-sink.h M be/src/exec/hdfs-table-writer.cc M common/thrift/DataSinks.thrift M fe/src/main/java/org/apache/impala/analysis/DeleteStmt.java M fe/src/main/java/org/apache/impala/analysis/InsertStmt.java M fe/src/main/java/org/apache/impala/analysis/UpdateStmt.java M fe/src/main/java/org/apache/impala/planner/HdfsTableSink.java M fe/src/main/java/org/apache/impala/planner/TableSink.java 9 files changed, 105 insertions(+), 48 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/63/4863/1 -- To view, visit http://gerrit.cloudera.org:8080/4863 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibeda0bdabbfe44c8ac95bf7c982a75649e1b82d0 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Lars Volker
[Impala-ASF-CR] IMPALA-3346: DeepCopy() Kudu rows into Impala tuples.
Alex Behm has uploaded a new change for review. http://gerrit.cloudera.org:8080/4862 Change subject: IMPALA-3346: DeepCopy() Kudu rows into Impala tuples. .. IMPALA-3346: DeepCopy() Kudu rows into Impala tuples. Implements additional changes to make the memory layout of Kudu rows identical to Impala tuples. In particular, Kudu rows allocate a null bit even for non-nullable columns, and Impala now does the same for Kudu scan tuples. This change exploits the now-identical Kudu and Impala tuple layouts to avoid the expensive translation. Perf: Mostafa is still confirming. Will update. Testing: A private core/hdfs run passed. Change-Id: Ic911e4eff9fe98bf28d8a1bab5c9d7e9ab66d9cb --- M be/src/exec/kudu-scanner.cc M be/src/exec/kudu-scanner.h M be/src/runtime/tuple.cc M be/src/runtime/tuple.h M fe/src/main/java/org/apache/impala/analysis/SlotDescriptor.java M fe/src/main/java/org/apache/impala/analysis/TupleDescriptor.java M fe/src/main/java/org/apache/impala/planner/KuduScanNode.java 7 files changed, 122 insertions(+), 205 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/62/4862/1 -- To view, visit http://gerrit.cloudera.org:8080/4862 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic911e4eff9fe98bf28d8a1bab5c9d7e9ab66d9cb Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex Behm
[Impala-ASF-CR] IMPALA-4309: Introduce Expr rewrite phase and supporting classes.
Alex Behm has posted comments on this change. Change subject: IMPALA-4309: Introduce Expr rewrite phase and supporting classes. .. Patch Set 7: (2 comments) Please take another look at the latest patch set. - Did some final polish - Resurrected the ExprRewriterTest http://gerrit.cloudera.org:8080/#/c/4746/7/fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java File fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java: Line 102: public List prunePartitions(Analyzer analyzer, List conjuncts) > make this an ImmutableList to express that it doesn't change conjuncts? alt The conjuncts list is actually modified. See existing comment. I don't know of a simple way to guard against changing the Exprs in place. Line 122: Expr clonedConjunct = exprRewriter_.rewrite(conjunct.clone(), analyzer); > why not simply directly apply the rule like before? Because the conjunct could have nested BetweenPredicates and we now need an ExprRewriter to handle that. -- To view, visit http://gerrit.cloudera.org:8080/4746 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I2279dc984bcf7742db4fa3b1aa67283ecbb05e6e Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex BehmGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Bharath Vissapragada Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3823: Add timer to measure Parquet footer reads
Sailesh Mukil has posted comments on this change. Change subject: IMPALA-3823: Add timer to measure Parquet footer reads .. Patch Set 10: Code-Review+1 (3 comments) Sorry for the delay. I've made the changes. Carry +1 http://gerrit.cloudera.org:8080/#/c/4371/9/be/src/util/runtime-profile-counters.h File be/src/util/runtime-profile-counters.h: PS9, Line 256: // Protects min > comment on what this protects Done http://gerrit.cloudera.org:8080/#/c/4371/9/be/src/util/runtime-profile.cc File be/src/util/runtime-profile.cc: PS9, Line 1019: lock_guard > Was there a reason not to take lock_ here? No, that was a mistake. Added it now. http://gerrit.cloudera.org:8080/#/c/4371/9/common/thrift/RuntimeProfile.thrift File common/thrift/RuntimeProfile.thrift: PS9, Line 94: summary stats counter > update Done -- To view, visit http://gerrit.cloudera.org:8080/4371 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Icf87bad90037dd0cea63b10c537382ec0f980cbf Gerrit-PatchSet: 10 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Sailesh MukilGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Sailesh Mukil Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3823: Add timer to measure Parquet footer reads
Hello Henry Robinson, Matthew Jacobs, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4371 to look at the new patch set (#10). Change subject: IMPALA-3823: Add timer to measure Parquet footer reads .. IMPALA-3823: Add timer to measure Parquet footer reads It's been observed that Parquet footer reads perform poorly especially when reading from S3. This patch adds a timer "FooterProcessingTimer" which keeps a track of the average time each split of each scan node spends in reading and processing the parquet footer. Added a new utility counter called SummaryStatsCounter which keeps track of the min, max and average values seen so far from a set of values. This counter is used to calculate the min, max and average time taken to scan and process Parquet footers per query per node. The RuntimeProfile has also been updated to keep a track of, display and serialize this new counter to thrift. BE tests have been added to verify that this counter works fine. Change-Id: Icf87bad90037dd0cea63b10c537382ec0f980cbf --- M be/src/exec/hdfs-parquet-scanner.cc M be/src/exec/hdfs-parquet-scanner.h M be/src/util/runtime-profile-counters.h M be/src/util/runtime-profile-test.cc M be/src/util/runtime-profile.cc M be/src/util/runtime-profile.h M common/thrift/RuntimeProfile.thrift M tests/query_test/test_scanners.py 8 files changed, 304 insertions(+), 16 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/71/4371/10 -- To view, visit http://gerrit.cloudera.org:8080/4371 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Icf87bad90037dd0cea63b10c537382ec0f980cbf Gerrit-PatchSet: 10 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Sailesh MukilGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Sailesh Mukil
[Impala-ASF-CR] IMPALA-4336: Cast exprs after unnesting union operands.
Dimitris Tsirogiannis has posted comments on this change. Change subject: IMPALA-4336: Cast exprs after unnesting union operands. .. Patch Set 2: Code-Review+1 (1 comment) http://gerrit.cloudera.org:8080/#/c/4815/1/fe/src/main/java/org/apache/impala/analysis/UnionStmt.java File fe/src/main/java/org/apache/impala/analysis/UnionStmt.java: PS1, Line 282: operands_.get(i).analyze(analyzer); : QueryStmt firstQuery = operands_.get(0).getQueryStmt(); > Modified to an ISE which is what the Preconditions would also throw. I pref Sounds good to me. -- To view, visit http://gerrit.cloudera.org:8080/4815 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5e3ab7349df7d67d0d9c2baf4a56342d3f04e76d Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex BehmGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3676: Use clang as a static analysis tool
Jim Apple has posted comments on this change. Change subject: IMPALA-3676: Use clang as a static analysis tool .. Patch Set 9: Code-Review+1 PS9 fixes warning from PS8; carry Tim's +1 -- To view, visit http://gerrit.cloudera.org:8080/4758 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I4ed168488cb30ddeccd0087f3840541d858f9c06 Gerrit-PatchSet: 9 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Jim AppleGerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Jim Apple Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-3676: Use clang as a static analysis tool
Hello Tim Armstrong, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4758 to look at the new patch set (#9). Change subject: IMPALA-3676: Use clang as a static analysis tool .. IMPALA-3676: Use clang as a static analysis tool This patch adds a script to run clang-tidy over the whole code base. It is a first step towards running clang-tidy over patches as a tool to help users spot bugs before code review. Because of the number of clang-tidy checks, this patch only addresses some of them. In particular, only checks starting with 'clang' are considered. Many of them which are flaky or not part of our style are excluded from the analysis. This patch also exlcudes some checks which are part of our current style but which would be too laborious to fix over the entire codebase, like using nullptr rather than NULL. This patch also fixes a number of small bugs found by clang-tidy. Finally, this patch adds the class AlignedNew, the purpose of which is to provide correct alignment on heap-allocated data. The global new operator only guarantees 16-byte alignment. A class that includes a member variable that must be aligned on a k-byte boundary for k>16 can inherit from AlignedNew to ensure correct alignment on the heap, quieting clang's -Wover-aligned warning. (Static and stack allocation are required by the standard to respect the alignment of the type and its member variables, so no extra code is needed for allocation in those places.) Change-Id: I4ed168488cb30ddeccd0087f3840541d858f9c06 --- A .clang-tidy M CMakeLists.txt M be/CMakeLists.txt M be/src/benchmarks/bloom-filter-benchmark.cc M be/src/benchmarks/in-predicate-benchmark.cc M be/src/benchmarks/parse-timestamp-benchmark.cc M be/src/catalog/catalog-server.cc M be/src/catalog/catalog-server.h M be/src/codegen/codegen-anyval.cc M be/src/codegen/impala-ir.cc M be/src/codegen/llvm-codegen.cc M be/src/common/compiler-util.h M be/src/common/init.cc M be/src/common/logging.h M be/src/common/status.h M be/src/exec/delimited-text-parser.cc M be/src/exec/delimited-text-parser.h M be/src/exec/exec-node.h M be/src/exec/external-data-source-executor.h M be/src/exec/hash-table-test.cc M be/src/exec/hbase-scan-node.h M be/src/exec/hdfs-avro-scanner.cc M be/src/exec/hdfs-parquet-scanner.h M be/src/exec/hdfs-scan-node.cc M be/src/exec/hdfs-scan-node.h M be/src/exec/hdfs-table-writer.h M be/src/exec/parquet-column-readers.h M be/src/exec/partitioned-hash-join-builder-ir.cc M be/src/exec/partitioned-hash-join-builder.cc M be/src/exec/scanner-context.inline.h M be/src/exec/write-stream.h M be/src/experiments/bit-stream-utils.8byte.inline.h M be/src/experiments/tuple-splitter-test.cc M be/src/exprs/aggregate-functions-ir.cc M be/src/exprs/aggregate-functions.h M be/src/exprs/compound-predicates.h M be/src/exprs/expr-test.cc M be/src/exprs/slot-ref.cc M be/src/exprs/string-functions-ir.cc M be/src/rpc/TAcceptQueueServer.h M be/src/rpc/authentication.cc M be/src/rpc/authentication.h M be/src/rpc/thrift-server.h M be/src/runtime/buffered-block-mgr.h M be/src/runtime/buffered-tuple-stream.cc M be/src/runtime/buffered-tuple-stream.h M be/src/runtime/coordinator.cc M be/src/runtime/coordinator.h M be/src/runtime/data-stream-sender.cc M be/src/runtime/data-stream-sender.h M be/src/runtime/descriptors.cc M be/src/runtime/descriptors.h M be/src/runtime/exec-env.h M be/src/runtime/free-pool-test.cc M be/src/runtime/hbase-table.cc M be/src/runtime/hdfs-fs-cache.h M be/src/runtime/multi-precision-test.cc M be/src/runtime/runtime-filter-bank.h M be/src/runtime/runtime-filter.h M be/src/runtime/scoped-buffer.h M be/src/runtime/string-buffer.h M be/src/runtime/timestamp-parse-util.cc M be/src/runtime/timestamp-value.cc M be/src/runtime/tmp-file-mgr.cc M be/src/runtime/tmp-file-mgr.h M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/simple-scheduler-test.cc M be/src/service/fe-support.cc M be/src/service/impala-beeswax-server.cc M be/src/service/impala-server.cc M be/src/service/impala-server.h M be/src/service/query-exec-state.cc M be/src/service/query-exec-state.h M be/src/service/query-result-set.cc M be/src/statestore/failure-detector.h M be/src/statestore/statestore-subscriber.h M be/src/statestore/statestore.cc M be/src/statestore/statestore.h M be/src/testutil/test-udas.cc M be/src/testutil/test-udas.h M be/src/transport/TSasl.h M be/src/transport/TSaslClientTransport.h M be/src/transport/TSaslServerTransport.h M be/src/transport/TSaslTransport.h M be/src/udf/uda-test-harness.h M be/src/udf/uda-test.cc M be/src/udf/udf-ir.cc M be/src/udf/udf.cc M be/src/udf/udf.h M be/src/udf_samples/uda-sample.cc A be/src/util/aligned-new.h M be/src/util/benchmark-test.cc M be/src/util/bit-stream-utils.inline.h M be/src/util/bit-util-test.cc M be/src/util/blocking-queue-test.cc M be/src/util/blocking-queue.h M be/src/util/bloom-filter-test.cc M
[Impala-ASF-CR] IMPALA-3676: Use clang as a static analysis tool
Jim Apple has posted comments on this change. Change subject: IMPALA-3676: Use clang as a static analysis tool .. Patch Set 8: PS8 is rebase-only -- To view, visit http://gerrit.cloudera.org:8080/4758 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I4ed168488cb30ddeccd0087f3840541d858f9c06 Gerrit-PatchSet: 8 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Jim AppleGerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Jim Apple Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4374: Use new syntax for creating TPC-DS/H tables in Kudu stress test
Dimitris Tsirogiannis has posted comments on this change. Change subject: IMPALA-4374: Use new syntax for creating TPC-DS/H tables in Kudu stress test .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/4860/1/testdata/datasets/tpcds/tpcds_kudu_template.sql File testdata/datasets/tpcds/tpcds_kudu_template.sql: PS1, Line 34: TBLPROPERTIES ('kudu.master_addresses' = '{kudu_master}:7051') > can we assume the impala cluster has the default kudu master set correctly Hm, I think it may be better to leave it as is for now. I am afraid that, until CM adds support for setting it, we may launch a cluster that isn't configured properly. Today we infer the kudu master from the specified cluster nodes (assume it's the first) and then pass this param to all the scripts that need it, including this one. What do you think? -- To view, visit http://gerrit.cloudera.org:8080/4860 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I2d501fb9c3cba00b1fb0f7b5941db49cbbda5a53 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Dimitris TsirogiannisGerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4379: Throw if Kudu table created with var/char
Dimitris Tsirogiannis has posted comments on this change. Change subject: IMPALA-4379: Throw if Kudu table created with var/char .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/4857/1//COMMIT_MSG Commit Message: PS1, Line 10: analysis > Good point. I thought about this and I think that ideally we would do this Unless I am missing something, I don't think we need to do this type checking for EXTERNAL tables. -- To view, visit http://gerrit.cloudera.org:8080/4857 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I475273cbbf4110db8d0f78ddf9a56abfc6221e3e Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4372: 'Describe formatted' returns types in upper case
Thomas Tauber-Marshall has uploaded a new change for review. http://gerrit.cloudera.org:8080/4861 Change subject: IMPALA-4372: 'Describe formatted' returns types in upper case .. IMPALA-4372: 'Describe formatted' returns types in upper case A recent change caused 'describe formatted' to display the types in all upper case, but we want 'describe formatted' to match Hive's 'describe' output, which displays the types in lower case. Change-Id: I274b97d4d1247244247fb38a5ca7f4c10bba8d22 --- M fe/src/main/java/org/apache/impala/catalog/Column.java M testdata/workloads/functional-query/queries/QueryTest/avro-schema-changes.test 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/61/4861/1 -- To view, visit http://gerrit.cloudera.org:8080/4861 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I274b97d4d1247244247fb38a5ca7f4c10bba8d22 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-Marshall
[Impala-ASF-CR] Enabling end-to-end tests on a remote cluster
Harrison Sheinblatt has posted comments on this change. Change subject: Enabling end-to-end tests on a remote cluster .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/4769/1/bin/remote_data_load.py File bin/remote_data_load.py: PS1, Line 365: main > I'm having a bit of trouble parsing this sentence. Can you clarify? With the parser options directly in main() it would be difficult to invoke the main() logic from another python script without shelling out to execute the script as a sub process. If instead, you define the parse options in a separate method, and create a method that does all the logic in main() but takes a parameter of the args, then another python program could set an arg dictionary and invoke the main logic directly without need to shell out. -- To view, visit http://gerrit.cloudera.org:8080/4769 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1f443a1728a1d28168090c6f54e82dec2cb073e9 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: David KnuppGerrit-Reviewer: David Knupp Gerrit-Reviewer: Harrison Sheinblatt Gerrit-Reviewer: Martin Grund Gerrit-Reviewer: Michael Brown Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3812: Fix error message for unsupported types
Taras Bobrovytsky has uploaded a new change for review. http://gerrit.cloudera.org:8080/4859 Change subject: IMPALA-3812: Fix error message for unsupported types .. IMPALA-3812: Fix error message for unsupported types Before this patch an unclear error message was returned if DATE or DATETIME appeared in the select list after a star expansion. This was because DATE and DATETIME PrimitiveType was serialized as INVALID_TYPE. This is fixed by serializing correctly. Change-Id: I9019b4bfd219f94e554c795befd3ff5e39706ea9 --- M fe/src/main/java/org/apache/impala/analysis/SelectStmt.java M fe/src/main/java/org/apache/impala/catalog/PrimitiveType.java M fe/src/test/java/org/apache/impala/analysis/AnalyzerTest.java M testdata/UnsupportedTypes/data.csv M testdata/datasets/functional/functional_schema_template.sql M testdata/workloads/functional-query/queries/QueryTest/misc.test 6 files changed, 35 insertions(+), 10 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/59/4859/1 -- To view, visit http://gerrit.cloudera.org:8080/4859 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9019b4bfd219f94e554c795befd3ff5e39706ea9 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Taras Bobrovytsky
[Impala-ASF-CR] IMPALA-4380: Remove 'cloudera' from hostnames in bin/generate minidump collection testdata.py
Lars Volker has uploaded a new change for review. http://gerrit.cloudera.org:8080/4858 Change subject: IMPALA-4380: Remove 'cloudera' from hostnames in bin/generate_minidump_collection_testdata.py .. IMPALA-4380: Remove 'cloudera' from hostnames in bin/generate_minidump_collection_testdata.py These host names don't need to be in cloudera.com. Change-Id: Icad9ba6ccba745ad3017cd6ad1c2a11c6af9cb42 --- M bin/generate_minidump_collection_testdata.py 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/58/4858/1 -- To view, visit http://gerrit.cloudera.org:8080/4858 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Icad9ba6ccba745ad3017cd6ad1c2a11c6af9cb42 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Lars Volker
[Impala-ASF-CR] IMPALA-4300: Speed up BloomFilter::Or with SIMD
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4300: Speed up BloomFilter::Or with SIMD .. Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/4813/5/be/src/util/bloom-filter.cc File be/src/util/bloom-filter.cc: PS5, Line 166: i < simd_size; See IMPALA-4381 - the index computations here seem wrong now - it's not clear whether i/simd_size are denominated in sizeof(double) or sizeof(__m256d). I have a suspicion the bug is here. We should probably use the same convention as below where i/simd_size are denominated in sizeof(__m256d). -- To view, visit http://gerrit.cloudera.org:8080/4813 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I840799d9cfb81285c796e2abfe2029bb869b0f67 Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Jim AppleGerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Jim Apple Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Alex Behm has posted comments on this change. Change subject: IMPALA-4314: Standardize on MT-related data structures .. Patch Set 2: (10 comments) Code looks much cleaner than before! I'm not an expert on this part of the code, but it looks pretty good me. No major concerns. http://gerrit.cloudera.org:8080/#/c/4853/1/be/src/runtime/coordinator.cc File be/src/runtime/coordinator.cc: Line 457: bool is_mt_execution = request.query_ctx.request.query_options.mt_dop > 0; set in FE? http://gerrit.cloudera.org:8080/#/c/4853/2/be/src/scheduling/query-schedule.cc File be/src/scheduling/query-schedule.cc: Line 60: // extract TPlanFragments and order by fragment id order by fragment idx? Line 70: DCHECK_EQ(fragment_exec_params_.size(), 0); comment that we asserting this is the first call to Init() Line 244: if (fragment->partition.type == TPartitionType::UNPARTITIONED) { Shouldn't this be a DCHECK instead? Every TStmtType::QUERY must have such a fragment and it must be unpartitioned. Line 264: const FragmentExecParams* fragment_params = _exec_params_[coord_fragment.idx]; make this a FragmentExecParams& Line 265: DCHECK(fragment_params != nullptr); weird DCHECK, fix by using const& as suggested above http://gerrit.cloudera.org:8080/#/c/4853/2/be/src/scheduling/query-schedule.h File be/src/scheduling/query-schedule.h: Line 211: // populated by Scheduler::Schedule (SimpleScheduler::ComputeFInstanceExecParams()) now populated in Init() right? http://gerrit.cloudera.org:8080/#/c/4853/2/be/src/scheduling/simple-scheduler.cc File be/src/scheduling/simple-scheduler.cc: Line 455: // TODO-MT: figure out how to parallelize Union agree, seems like a practical solution for now Line 725: #if 0 ? Line 750: // TODO: we'll need to revisit this strategy once we can partition joins Maybe we should deal with this in the planner? I think the only way we can get into this scenario is with a scan that had all partitions pruned. We could easily swap the scan for an empty set node and then invert the join. -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel KornackerGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Marcel Kornacker Gerrit-HasComments: Yes
[Impala-ASF-CR] Enabling end-to-end tests on a remote cluster
David Knupp has posted comments on this change. Change subject: Enabling end-to-end tests on a remote cluster .. Patch Set 1: (16 comments) http://gerrit.cloudera.org:8080/#/c/4769/1/bin/remote_data_load.py File bin/remote_data_load.py: PS1, Line 142: fe > Does this mean we're still using the 3rd party client libraries with these Nope, this is the path to where we keep our config files. We're just literally overwriting some of these files on the client with the same files downloaded from the cluster. $ ls fe/src/test/resources/*.xml -l lrwxrwxrwx 1 dknupp dknupp78 Oct 25 18:22 fe/src/test/resources/core-site.xml -> /home/dknupp/Impala/testdata/cluster/cdh5/node-1/etc/hadoop/conf/core-site.xml -rw-rw-r-- 1 dknupp dknupp 1985 Oct 25 18:22 fe/src/test/resources/hbase-site.xml lrwxrwxrwx 1 dknupp dknupp78 Oct 25 18:22 fe/src/test/resources/hdfs-site.xml -> /home/dknupp/Impala/testdata/cluster/cdh5/node-1/etc/hadoop/conf/hdfs-site.xml -rw-rw-r-- 1 dknupp dknupp 67730 Oct 18 18:18 fe/src/test/resources/hive-default.xml -rw-rw-r-- 1 dknupp dknupp 4728 Oct 25 18:22 fe/src/test/resources/hive-site.xml -rw-rw-r-- 1 dknupp dknupp 1976 Oct 25 18:22 fe/src/test/resources/sentry-site.xml PS1, Line 149: service > I believe the Cluster object in comparisons/cluster.py has helper methods f Going to leave this for a later investigation. PS1, Line 160: settings required for data loading > It would be good to document here exactly what is returned, and an explanat Done PS1, Line 224: environment > Is there a reason to update the current environment rather than create an e My presumption is that we set environment variables here because "that's how it's done" under our current model. That said, I don't think the current environment really gets updated, right? Python gets forked as a child process for the shell, and the environment gets set for the life span of the script. I agree that it seems a bit hacky, but it shouldn't have a persistent effect on one's environment. PS1, Line 266: load > Might be good to time this at least overall. Even if we just log the total I added a decorator that we can use on various functions. It might be handy when/if this script gets refactors to time various parts or stages of it. For right now, it just logs the time as you requested, but we can change the decorator to do something more intelligent at any time, e.g., record time in a DB for eventual trending, etc. PS1, Line 278: INFO A > What does this mean? You know, I'm not sure. I think Martin may have just been marking when certain phases completed, or testing the logger setup. I'll remove it. PS1, Line 281: logger > Two blank lines before this line, probably remove at least one. Done PS1, Line 296: INFO B > This must relate to INFO A above, but what does it mean? Removed. PS1, Line 297: chmod > Are we re-setting these permissions at the end, or do we know that tests do I'm not sure, but as elsewhere, I've filed a JIRA to investigate at a later time. PS1, Line 315: Re-load > Does this mean it was already loaded and now it's being loaded again? Why? I'm not sure, but I can't actually get this far into the script now, owing to the breakages introduced by the latest Kudu changes. I'll have to make a note to look into this once we fix IMPALA-4365. PS1, Line 335: test > This seems to not belong in this class; it doesn't do any data load. This may be here due to the fact that, running as part of the forked child python process, it can make use of the environment changes from before. I'm going to leave this in place for now, with the idea that we can refactor it out at a later time. JIRA has been filed. PS1, Line 365: main > If we have a parse_options() method a run(parsed_options) method, then you I'm having a bit of trouble parsing this sentence. Can you clarify? PS1, Line 393: test > This seems to belong elsewhere. Why does it go here? See the reply from above. http://gerrit.cloudera.org:8080/#/c/4769/1/testdata/bin/compute-table-stats.sh File testdata/bin/compute-table-stats.sh: PS1, Line 27: IMPALAD > Can you reference the Jira in a comment? Yup, a comment was added. I think you may have been looking at an older patch. http://gerrit.cloudera.org:8080/#/c/4769/1/testdata/bin/create-load-data.sh File testdata/bin/create-load-data.sh: PS1, Line 38: HS2_HOST_PORT > Is it reasonable to add a comment referencing the Jira here? Possible you were looking at an older patch. A comment has been added to the code. http://gerrit.cloudera.org:8080/#/c/4769/1/testdata/bin/setup-hdfs-env.sh File testdata/bin/setup-hdfs-env.sh: PS1, Line 53: CACHEADMIN_ARGS > If the is_kerberized block is executed above, then the CACHADMIN_ARGS would I feel like some of these comments might be outside of the scope of this review, esp. with regard to factoring out the existing is_kerberized block. Since I'm not an
[Impala-ASF-CR] IMPALA-4379: Throw if Kudu table created with var/char
Matthew Jacobs has uploaded a new change for review. http://gerrit.cloudera.org:8080/4857 Change subject: IMPALA-4379: Throw if Kudu table created with var/char .. IMPALA-4379: Throw if Kudu table created with var/char Creating Kudu tables shouldn't allow VARCHAR and CHAR which are not supported by Kudu. This now throws an analysis exception. This also fixes a small corner case with ALTER TABLE: ALTER TABLE shouldn't allow Kudu tables to change the storage descriptor tblproperty, otherwise the table metadata gets in an inconsistent state. Tests were added for both of the above. Change-Id: I475273cbbf4110db8d0f78ddf9a56abfc6221e3e --- M fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java M fe/src/main/java/org/apache/impala/service/KuduCatalogOpExecutor.java M fe/src/main/java/org/apache/impala/util/KuduUtil.java M testdata/workloads/functional-query/queries/QueryTest/kudu_alter.test M testdata/workloads/functional-query/queries/QueryTest/kudu_create.test M testdata/workloads/functional-query/queries/QueryTest/kudu_crud.test 6 files changed, 49 insertions(+), 19 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/57/4857/1 -- To view, visit http://gerrit.cloudera.org:8080/4857 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I475273cbbf4110db8d0f78ddf9a56abfc6221e3e Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew Jacobs
[Impala-ASF-CR] IMPALA-3725 Support Kudu UPSERT in Impala
Hello Matthew Jacobs, Internal Jenkins, Alex Behm, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4047 to look at the new patch set (#16). Change subject: IMPALA-3725 Support Kudu UPSERT in Impala .. IMPALA-3725 Support Kudu UPSERT in Impala This patch introduces a new query statement, UPSERT, for Kudu tables which operates like an INSERT and uses all of the analysis, planning, and execution machinery as INSERT, except that if there's a primary key collision instead of returning an error an update is performed. New syntax: [with_clause] UPSERT INTO [TABLE] table_name [(column list)] { query_stmt | VALUES (value [, value...]) [, (value [, (value...)]) ...] } where column list must contain all of the key columns in table_name, if specified, and table_name must be a Kudu table. This patch also improves the behavior of INSERTing into Kudu tables without specifying all of the key columns - this now results in an analysis exception, rather than attempting the INSERT and receiving an error back from Kudu. Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 --- M be/src/exec/kudu-table-sink.cc M common/thrift/DataSinks.thrift M fe/src/main/cup/sql-parser.cup M fe/src/main/java/org/apache/impala/analysis/CreateTableAsSelectStmt.java M fe/src/main/java/org/apache/impala/analysis/InsertStmt.java M fe/src/main/java/org/apache/impala/planner/KuduTableSink.java M fe/src/main/java/org/apache/impala/planner/TableSink.java M fe/src/main/jflex/sql-scanner.flex M fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java M fe/src/test/java/org/apache/impala/analysis/AnalyzeSubqueriesTest.java A fe/src/test/java/org/apache/impala/analysis/AnalyzeUpsertStmtTest.java M fe/src/test/java/org/apache/impala/analysis/AnalyzerTest.java M fe/src/test/java/org/apache/impala/analysis/ParserTest.java M fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java M fe/src/test/java/org/apache/impala/planner/PlannerTest.java A testdata/workloads/functional-planner/queries/PlannerTest/kudu-upsert.test M testdata/workloads/functional-query/queries/QueryTest/kudu_crud.test 17 files changed, 678 insertions(+), 84 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/47/4047/16 -- To view, visit http://gerrit.cloudera.org:8080/4047 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 Gerrit-PatchSet: 16 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4314: Standardize on MT-related data structures .. Patch Set 2: with the latest changes the standard test suite should pass (there were 5 failures caused by what i just fixed in simple-scheduler.cc). -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel KornackerGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Marcel Kornacker Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Marcel Kornacker has uploaded a new patch set (#2). Change subject: IMPALA-4314: Standardize on MT-related data structures .. IMPALA-4314: Standardize on MT-related data structures This removes the data structures that were "superceded" in IMPALA-3903 and changes all control flow to utilize the new data structures. The new data structures are renamed to remove the "Mt" prefix. Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 --- M be/src/benchmarks/expr-benchmark.cc M be/src/runtime/coordinator.cc M be/src/runtime/coordinator.h M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/simple-scheduler-test-util.cc M be/src/scheduling/simple-scheduler-test-util.h M be/src/scheduling/simple-scheduler.cc M be/src/scheduling/simple-scheduler.h M be/src/service/impala-http-handler.cc M be/src/service/impala-server.cc M be/src/service/query-exec-state.cc M common/thrift/Frontend.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java M fe/src/main/java/org/apache/impala/planner/HBaseScanNode.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/KuduScanNode.java M fe/src/main/java/org/apache/impala/planner/Planner.java M fe/src/main/java/org/apache/impala/planner/ScanNode.java M fe/src/main/java/org/apache/impala/service/Frontend.java M fe/src/test/java/org/apache/impala/planner/PlannerTestBase.java M testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test 23 files changed, 629 insertions(+), 1,151 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/53/4853/2 -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel KornackerGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Marcel Kornacker
[Impala-ASF-CR] IMPALA-3725 Support Kudu UPSERT in Impala
Matthew Jacobs has posted comments on this change. Change subject: IMPALA-3725 Support Kudu UPSERT in Impala .. Patch Set 15: (1 comment) http://gerrit.cloudera.org:8080/#/c/4047/15/fe/src/main/java/org/apache/impala/analysis/InsertStmt.java File fe/src/main/java/org/apache/impala/analysis/InsertStmt.java: Line 729: if (!planHints_.isEmpty() && table_ instanceof HBaseTable) { > It already passes through SHUFFLE/NOSHUFFLE for INSERT into Kudu tables. Is Yeah you're right it was allowing SHUFFLE/NOSHUFFLE for Kudu before your change, but that was a mistake. Sorry to hold this up then, but can you fix it while you're here and add the negative test cases in the analyzer tests? -- To view, visit http://gerrit.cloudera.org:8080/4047 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 Gerrit-PatchSet: 15 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3725 Support Kudu UPSERT in Impala
Thomas Tauber-Marshall has posted comments on this change. Change subject: IMPALA-3725 Support Kudu UPSERT in Impala .. Patch Set 15: (1 comment) http://gerrit.cloudera.org:8080/#/c/4047/15/fe/src/main/java/org/apache/impala/analysis/InsertStmt.java File fe/src/main/java/org/apache/impala/analysis/InsertStmt.java: Line 729: if (!planHints_.isEmpty() && table_ instanceof HBaseTable) { > But now this passes through SHUFFLE/NOSHUFFLE as well... It already passes through SHUFFLE/NOSHUFFLE for INSERT into Kudu tables. Is SHUFFLE/NOSHUFFLE valid for INSERT into Kudu tables but not for UPSERT, or is it a mistake that SHUFFLE/NOSHUFFLE works for Kudu INSERT? -- To view, visit http://gerrit.cloudera.org:8080/4047 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 Gerrit-PatchSet: 15 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3725 Support Kudu UPSERT in Impala
Hello Matthew Jacobs, Internal Jenkins, Alex Behm, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4047 to look at the new patch set (#15). Change subject: IMPALA-3725 Support Kudu UPSERT in Impala .. IMPALA-3725 Support Kudu UPSERT in Impala This patch introduces a new query statement, UPSERT, for Kudu tables which operates like an INSERT and uses all of the analysis, planning, and execution machinery as INSERT, except that if there's a primary key collision instead of returning an error an update is performed. New syntax: [with_clause] UPSERT INTO [TABLE] table_name [(column list)] { query_stmt | VALUES (value [, value...]) [, (value [, (value...)]) ...] } where column list must contain all of the key columns in table_name, if specified, and table_name must be a Kudu table. This patch also improves the behavior of INSERTing into Kudu tables without specifying all of the key columns - this now results in an analysis exception, rather than attempting the INSERT and receiving an error back from Kudu. Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 --- M be/src/exec/kudu-table-sink.cc M common/thrift/DataSinks.thrift M fe/src/main/cup/sql-parser.cup M fe/src/main/java/org/apache/impala/analysis/CreateTableAsSelectStmt.java M fe/src/main/java/org/apache/impala/analysis/InsertStmt.java M fe/src/main/java/org/apache/impala/planner/KuduTableSink.java M fe/src/main/java/org/apache/impala/planner/TableSink.java M fe/src/main/jflex/sql-scanner.flex M fe/src/test/java/org/apache/impala/analysis/AnalyzeStmtsTest.java M fe/src/test/java/org/apache/impala/analysis/AnalyzeSubqueriesTest.java A fe/src/test/java/org/apache/impala/analysis/AnalyzeUpsertStmtTest.java M fe/src/test/java/org/apache/impala/analysis/AnalyzerTest.java M fe/src/test/java/org/apache/impala/analysis/ParserTest.java M fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java M fe/src/test/java/org/apache/impala/planner/PlannerTest.java A testdata/workloads/functional-planner/queries/PlannerTest/kudu-upsert.test M testdata/workloads/functional-query/queries/QueryTest/kudu_crud.test 17 files changed, 665 insertions(+), 84 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/47/4047/15 -- To view, visit http://gerrit.cloudera.org:8080/4047 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 Gerrit-PatchSet: 15 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Alex Behm has posted comments on this change. Change subject: IMPALA-4314: Standardize on MT-related data structures .. Patch Set 1: (3 comments) +2 for .thrift and .java files. So much better! I'll go through the BE changes next. http://gerrit.cloudera.org:8080/#/c/4853/1/common/thrift/Frontend.thrift File common/thrift/Frontend.thrift: Line 351: // The node ids refer to scan nodes in fragments[].plan_tree fragments[].plan (not plan_tree) http://gerrit.cloudera.org:8080/#/c/4853/1/fe/src/main/java/org/apache/impala/service/Frontend.java File fe/src/main/java/org/apache/impala/service/Frontend.java: Line 1000: boolean disableSpilling = whitespace http://gerrit.cloudera.org:8080/#/c/4853/1/testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test File testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test: Line 144: | hosts=3 per-host-mem=0B weird mem estimate; ok to leave for now -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel KornackerGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Marcel Kornacker Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3724: Support Kudu non-covering range partitions
Dimitris Tsirogiannis has uploaded a new change for review. http://gerrit.cloudera.org:8080/4856 Change subject: IMPALA-3724: Support Kudu non-covering range partitions .. IMPALA-3724: Support Kudu non-covering range partitions This commit adds support for non-covering range partitions in Kudu tables. The SPLIT ROWS clause is now deprecated and no longer supported. The following new syntax provides more flexibility in creating range partitions and it supports bounded and unbounded ranges as well as single value partitions; multi-column range partitions are supported as well. The new syntax is: DISTRIBUTE BY RANGE (col_list) ( PARTITION lower_1 <[=] VALUES <[=] upper_1, PARTITION lower_2 <[=] VALUES <[=] upper_2, PARTITION lower_n <[=] VALUES <[=] upper_n, PARTITION VALUE = val_1, PARTITION VALUE = val_n ) Multi-column range partitions are specified as follows: DISTRIBUTE BY RANGE (col1, col2,..., coln) ( PARTITION VALUE = (col1_val, col2_val, ..., coln_val), PARTITION VALUE = (col1_val, col2_val, ..., coln_val) ) Change-Id: I6799c01a37003f0f4c068d911a13e3f060110a06 --- M common/thrift/CatalogObjects.thrift M fe/src/main/cup/sql-parser.cup M fe/src/main/java/org/apache/impala/analysis/ColumnDef.java M fe/src/main/java/org/apache/impala/analysis/DistributeParam.java M fe/src/main/java/org/apache/impala/service/KuduCatalogOpExecutor.java M fe/src/main/java/org/apache/impala/util/KuduUtil.java M fe/src/test/java/org/apache/impala/analysis/AnalyzeDDLTest.java M fe/src/test/java/org/apache/impala/analysis/ParserTest.java M testdata/datasets/functional/functional_schema_template.sql M testdata/workloads/functional-query/queries/QueryTest/kudu_create.test M testdata/workloads/functional-query/queries/QueryTest/kudu_crud.test M testdata/workloads/functional-query/queries/QueryTest/kudu_partition_ddl.test M testdata/workloads/functional-query/queries/QueryTest/kudu_stats.test M tests/query_test/test_kudu.py 14 files changed, 549 insertions(+), 276 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/56/4856/1 -- To view, visit http://gerrit.cloudera.org:8080/4856 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6799c01a37003f0f4c068d911a13e3f060110a06 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Dimitris Tsirogiannis
[Impala-ASF-CR] IMPALA-4369: Avoid DCHECK in Parquet scanner with MT DOP > 0.
Internal Jenkins has posted comments on this change. Change subject: IMPALA-4369: Avoid DCHECK in Parquet scanner with MT_DOP > 0. .. Patch Set 2: Verified+1 -- To view, visit http://gerrit.cloudera.org:8080/4851 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ifbfdde505dbbd2742e7ab79a2415ff317a9bfa2f Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex BehmGerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4369: Avoid DCHECK in Parquet scanner with MT DOP > 0.
Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-4369: Avoid DCHECK in Parquet scanner with MT_DOP > 0. .. IMPALA-4369: Avoid DCHECK in Parquet scanner with MT_DOP > 0. When HdfsParquetScanner::Open() failed we used to hit a DCHECK when trying to access HdfsParquetScanner::batch() which is only valid to call for non-MT scan nodes. Change-Id: Ifbfdde505dbbd2742e7ab79a2415ff317a9bfa2f Reviewed-on: http://gerrit.cloudera.org:8080/4851 Reviewed-by: Tim ArmstrongTested-by: Internal Jenkins --- M be/src/exec/hdfs-scan-node-base.cc A testdata/workloads/functional-query/queries/QueryTest/mt-dop-parquet.test M tests/query_test/test_mt_dop.py 3 files changed, 26 insertions(+), 1 deletion(-) Approvals: Internal Jenkins: Verified Tim Armstrong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/4851 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifbfdde505dbbd2742e7ab79a2415ff317a9bfa2f Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex Behm Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] Move vim-specific config file to top level directory
Lars Volker has abandoned this change. Change subject: Move vim-specific config file to top level directory .. Abandoned Let's remove the file altogether. -- To view, visit http://gerrit.cloudera.org:8080/4850 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I10599fdec22be3fb5c1e5105f23d96c6955052d8 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Lars VolkerGerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] Remove vim plugin config file from .gitignore
Lars Volker has uploaded a new change for review. http://gerrit.cloudera.org:8080/4854 Change subject: Remove vim plugin config file from .gitignore .. Remove vim plugin config file from .gitignore Files in be/ get wiped out by clean.sh if they're listed in .gitignore. It is easier to just configure this via a project-specific .vimrc file. Change-Id: I262f7a1ec8daace84a29518ba826c7c3b20fb9e9 --- M .gitignore 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/54/4854/1 -- To view, visit http://gerrit.cloudera.org:8080/4854 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I262f7a1ec8daace84a29518ba826c7c3b20fb9e9 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Lars Volker
[Impala-ASF-CR] IMPALA-1169: Admission control info on the queries debug webpage
Internal Jenkins has posted comments on this change. Change subject: IMPALA-1169: Admission control info on the queries debug webpage .. Patch Set 7: Verified-1 Build failed: http://sandbox.jenkins.cloudera.com/job/impala-external-gerrit-verify-merge-ASF/369/ -- To view, visit http://gerrit.cloudera.org:8080/4756 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I504e3c829a14318721e3a42de6281bcc578f7283 Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4302,IMPALA-2379: constant expr arg fixes
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4302,IMPALA-2379: constant expr arg fixes .. Patch Set 3: (3 comments) http://gerrit.cloudera.org:8080/#/c/4838/3/be/src/codegen/llvm-codegen.h File be/src/codegen/llvm-codegen.h: Line 396: /// Initialise a constant global string and returns a pointer to it. Need to doc that it's an i8* http://gerrit.cloudera.org:8080/#/c/4838/3/be/src/exprs/anyval-util.h File be/src/exprs/anyval-util.h: Line 21: #include "gutil/strings/substitute.h" Move to .cc http://gerrit.cloudera.org:8080/#/c/4838/3/be/src/exprs/scalar-fn-call.cc File be/src/exprs/scalar-fn-call.cc: Line 337: // Get IR i8* pointer to a varargs buffer. We allocate the buffer with Alloca so that needs updating, not an i8 -- To view, visit http://gerrit.cloudera.org:8080/4838 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I45c3ed8c9d7a61e94a9b9d6c316e8a53d9ff6c24 Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4302,IMPALA-2379: constant expr arg fixes
Tim Armstrong has uploaded a new patch set (#4). Change subject: IMPALA-4302,IMPALA-2379: constant expr arg fixes .. IMPALA-4302,IMPALA-2379: constant expr arg fixes This patch fixes two issues around handling of constant expr args. The patches are combined because they touch some of the same code and depend on some of the same memory management cleanup. First, it fixes IMPALA-2379, where constant expr args were not visible to UDAFs. The issue is that the input exprs need to be opened before calling the UDAF Init() function. Second, it avoids overhead from repeated evaluation of constant arguments for ScalarFnCall expressions on both the codegen'd and A common example is an IN predicate with a long list of constant values. The interpreted path was inefficient because it always evaluated all children expressions. This is improved by separating out constant and non-constant args and only evaluating the non-constant args. The memory management of the AnyVal* objects was somewhat nebulous - adjusted it so that they're allocated from ExprContext::mem_pool_, which has the correct lifetime. The codegen'd path was inefficient only with varargs - with fixed arguments the LLVM optimiser is able to infer after inlining that the expressions are constant and remove all evaluation. However, for varargs it stores the vararg values into a heap-allocated buffer. The LLVM optimiser is unable to remove these stores because they have a side-effect that is visible to code outside the function. The codegen'd path is improved by evaluating varargs into a temporary buffer that can be optimised out. We also make a small related change to bake the string constants into the codegen'd code. Testing: Ran exhaustive build. Added regression test for IMPALA-2379 and MemPool test for aligned allocation. Added a test for in predicates with constant strings. Perf: Added a targeted query that demonstrates the improvement. Also manually validated the non-codegend perf. Also ran TPC-H and targeted perf queries locally - didn't see any significant changes. ++---+---++-++---++-+---+ | Workload | Query | File Format | Avg(s) | Base Avg(s) | Delta(Avg) | StdDev(%) | Base StdDev(%) | Num Clients | Iters | ++---+---++-++---++-+---+ | TARGETED-PERF(_20) | primitive_filter_in_predicate | parquet / none / none | 1.19 | 9.82| I -87.85% | 3.82% | 0.71%| 1 | 10| ++---+---++-++---++-+---+ (I) Improvement: TARGETED-PERF(_20) primitive_filter_in_predicate [parquet / none / none] (9.82s -> 1.19s [-87.85%]) +--++--+--++---+--+--++++---+ | Operator | % of Query | Avg | Base Avg | Delta(Avg) | StdDev(%) | Max | Base Max | Delta(Max) | #Hosts | #Rows | Est #Rows | +--++--+--++---+--+--++++---+ | 01:AGGREGATE | 14.39% | 155.88ms | 214.61ms | -27.37%| 2.68% | 163.38ms | 227.53ms | -28.19%| 1 | 1 | 1 | | 00:SCAN HDFS | 85.60% | 927.46ms | 9.43s| -90.16%| 4.49% | 1.01s| 9.50s| -89.42%| 1 | 13.77K | 14.05K| +--++--+--++---+--+--++++---+ Change-Id: I45c3ed8c9d7a61e94a9b9d6c316e8a53d9ff6c24 --- M be/src/benchmarks/in-predicate-benchmark.cc M be/src/codegen/gen_ir_descriptions.py M be/src/codegen/llvm-codegen.cc M be/src/codegen/llvm-codegen.h M be/src/exec/partitioned-aggregation-node.cc M be/src/exprs/agg-fn-evaluator.cc M be/src/exprs/anyval-util.cc M be/src/exprs/anyval-util.h M be/src/exprs/case-expr.cc M be/src/exprs/expr-context.h M be/src/exprs/expr.cc M be/src/exprs/expr.h M be/src/exprs/hive-udf-call.cc M be/src/exprs/in-predicate.h M be/src/exprs/literal.cc M be/src/exprs/scalar-fn-call.cc M be/src/exprs/scalar-fn-call.h M be/src/runtime/free-pool-test.cc M be/src/runtime/free-pool.h M be/src/runtime/mem-pool-test.cc M be/src/runtime/mem-pool.cc M be/src/runtime/mem-pool.h M be/src/testutil/test-udas.cc M be/src/udf/udf-internal.h M be/src/udf/udf-test-harness.cc M be/src/udf/udf.cc M be/src/util/bit-util.h M testdata/workloads/functional-query/queries/QueryTest/exprs.test M testdata/workloads/functional-query/queries/QueryTest/uda.test A
[Impala-ASF-CR] IMPALA-3788: Support for Kudu 'read-your-writes' consistency
Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-3788: Support for Kudu 'read-your-writes' consistency .. IMPALA-3788: Support for Kudu 'read-your-writes' consistency Kudu provides an API to get/set a 'latest observed timestamp' on clients to allow a client which inserts to capture and send this timestamp to another client before a read to ensure that data as of that timestamp is visible. This adds support for this feature _for reads within a session_ by capturing the latest observed timestamp when the KuduTableSink is sending its last update to the coordinator. The timestamp is sent with other post-write information, and is aggregated (i.e. taking the max) at the coordinator. The max is stored in the session, and that value is then set in the Kudu client on future scans. This is being tested by running the Kudu tests after removing delays that were introduced to work around the issue that reads might not be visible after a write. Before this change, if there were no delay, inconsistent results could be returned. Change-Id: I6bcb5fc218ad4ab935343a55b2188441d8c7dfbd Reviewed-on: http://gerrit.cloudera.org:8080/4779 Reviewed-by: Matthew JacobsTested-by: Internal Jenkins --- M be/src/exec/kudu-scan-node.cc M be/src/exec/kudu-table-sink.cc M be/src/runtime/coordinator.cc M be/src/runtime/coordinator.h M be/src/service/impala-hs2-server.cc M be/src/service/impala-server.cc M be/src/service/impala-server.h M be/src/service/query-exec-state.cc M common/thrift/ImpalaInternalService.thrift M tests/common/impala_test_suite.py M tests/query_test/test_kudu.py 11 files changed, 51 insertions(+), 7 deletions(-) Approvals: Matthew Jacobs: Looks good to me, approved Internal Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4779 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6bcb5fc218ad4ab935343a55b2188441d8c7dfbd Gerrit-PatchSet: 6 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew Jacobs Gerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs
[Impala-ASF-CR] IMPALA-3788: Support for Kudu 'read-your-writes' consistency
Internal Jenkins has posted comments on this change. Change subject: IMPALA-3788: Support for Kudu 'read-your-writes' consistency .. Patch Set 5: Verified+1 -- To view, visit http://gerrit.cloudera.org:8080/4779 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6bcb5fc218ad4ab935343a55b2188441d8c7dfbd Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Matthew JacobsGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-3983/IMPALA-3974: Delete function jar resources after load
Bharath Vissapragada has posted comments on this change. Change subject: IMPALA-3983/IMPALA-3974: Delete function jar resources after load .. Patch Set 8: Code-Review+2 Made a minor change to the test to remove --local_library_dir override in impalad_args. The reason the test failed was because the lib-cache doesn't deterministically remove a lib-cache-entry by the end of test. Given this change only relates to the Catalog side changes, I've retained --catalogd_args. Carrying +2 and kicking off GVO again. -- To view, visit http://gerrit.cloudera.org:8080/4617 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5f9dedb5b342415380c83e61a72eb497371a8199 Gerrit-PatchSet: 8 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Bharath VissapragadaGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Bharath Vissapragada Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Internal Jenkins Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-3983/IMPALA-3974: Delete function jar resources after load
Hello Henry Robinson, Internal Jenkins, Alex Behm, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4617 to look at the new patch set (#8). Change subject: IMPALA-3983/IMPALA-3974: Delete function jar resources after load .. IMPALA-3983/IMPALA-3974: Delete function jar resources after load The Catalog copies the UDF jar files to the local file system to load the Java UDF classes for validation purposes. However we do not clean them up after the UDF load and hence on a deployment with large number of functions registered, these jar can accumulate over a period of time and can fill up the tmp space. We fix it by deleting the jar resource once the function is loaded. Also, this patch switches to --local_library_dir for copying these temporary jars instead of using the path from java.io.tmpdir. Change-Id: I5f9dedb5b342415380c83e61a72eb497371a8199 --- M be/src/catalog/catalog.cc M fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java M fe/src/main/java/org/apache/impala/common/FileSystemUtil.java M fe/src/main/java/org/apache/impala/service/JniCatalog.java M fe/src/test/java/org/apache/impala/testutil/CatalogServiceTestCatalog.java M tests/custom_cluster/test_permanent_udfs.py 6 files changed, 42 insertions(+), 11 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/17/4617/8 -- To view, visit http://gerrit.cloudera.org:8080/4617 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5f9dedb5b342415380c83e61a72eb497371a8199 Gerrit-PatchSet: 8 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Bharath VissapragadaGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Bharath Vissapragada Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Internal Jenkins
[Impala-ASF-CR] IMPALA-4371: Incorrect DCHECK-s in hdfs-parquet-table-writer
Tim Armstrong has posted comments on this change. Change subject: IMPALA-4371: Incorrect DCHECK-s in hdfs-parquet-table-writer .. Patch Set 2: What about Dan's comment about the test. It would be great to add a regression test if it's reproducible. -- To view, visit http://gerrit.cloudera.org:8080/4835 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I52e1b1354e9ea056b49331e75e53759952a81b76 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Zoltan IvanfiGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4314: Standardize on MT-related data structures .. Patch Set 1: Regarding tests: I've done some rounds of bug fixing in response to test failures, but there are probably more lurking. I'd like to get the review cycle started now, though, since the overall structure won't be affected by additional bug fixes. -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel KornackerGerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Marcel Kornacker Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-3202: DiskIoMgr improvements for new buffer pool
Internal Jenkins has posted comments on this change. Change subject: IMPALA-3202: DiskIoMgr improvements for new buffer pool .. Patch Set 5: Verified-1 Build failed: http://sandbox.jenkins.cloudera.com/job/impala-external-gerrit-verify-merge-ASF/371/ -- To view, visit http://gerrit.cloudera.org:8080/4631 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I913fbb8ae6c242f1585992eb2a622509344dccec Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4314: Standardize on MT-related data structures .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/4853/1/be/src/runtime/coordinator.h File be/src/runtime/coordinator.h: Line 527: void ValidateCollectionSlots(RowBatch* batch); i'll remove this Line 531: Status PrepareCoordFragment(std::vector* output_expr_ctxs); and this. -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel Kornacker Gerrit-Reviewer: Marcel Kornacker Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-3202: DiskIoMgr improvements for new buffer pool
Tim Armstrong has posted comments on this change. Change subject: IMPALA-3202: DiskIoMgr improvements for new buffer pool .. Patch Set 5: Code-Review+2 rebase -- To view, visit http://gerrit.cloudera.org:8080/4631 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I913fbb8ae6c242f1585992eb2a622509344dccec Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-3202: DiskIoMgr improvements for new buffer pool
Tim Armstrong has posted comments on this change. Change subject: IMPALA-3202: DiskIoMgr improvements for new buffer pool .. Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/4631/3/be/src/runtime/disk-io-mgr-scan-range.cc File be/src/runtime/disk-io-mgr-scan-range.cc: PS3, Line 450: external_buffer_tag_ != ExternalBufferTag::CACHED_BUFFE > okay. but still, wouldn't thie be clearer to check: Ah, I understand now. Fixed. -- To view, visit http://gerrit.cloudera.org:8080/4631 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I913fbb8ae6c242f1585992eb2a622509344dccec Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4314: Standardize on MT-related data structures
Marcel Kornacker has uploaded a new change for review. http://gerrit.cloudera.org:8080/4853 Change subject: IMPALA-4314: Standardize on MT-related data structures .. IMPALA-4314: Standardize on MT-related data structures This removes the data structures that were "superceded" in IMPALA-3903 and changes all control flow to utilize the new data structures. The new data structures are renamed to remove the "Mt" prefix. Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 --- M be/src/benchmarks/expr-benchmark.cc M be/src/runtime/coordinator.cc M be/src/runtime/coordinator.h M be/src/scheduling/query-schedule.cc M be/src/scheduling/query-schedule.h M be/src/scheduling/simple-scheduler-test-util.cc M be/src/scheduling/simple-scheduler-test-util.h M be/src/scheduling/simple-scheduler.cc M be/src/scheduling/simple-scheduler.h M be/src/service/impala-http-handler.cc M be/src/service/impala-server.cc M be/src/service/query-exec-state.cc M common/thrift/Frontend.thrift M common/thrift/Planner.thrift M fe/src/main/java/org/apache/impala/planner/DataSourceScanNode.java M fe/src/main/java/org/apache/impala/planner/HBaseScanNode.java M fe/src/main/java/org/apache/impala/planner/HdfsScanNode.java M fe/src/main/java/org/apache/impala/planner/KuduScanNode.java M fe/src/main/java/org/apache/impala/planner/Planner.java M fe/src/main/java/org/apache/impala/planner/ScanNode.java M fe/src/main/java/org/apache/impala/service/Frontend.java M fe/src/test/java/org/apache/impala/planner/PlannerTestBase.java M testdata/workloads/functional-planner/queries/PlannerTest/mt-dop-validation.test 23 files changed, 639 insertions(+), 1,150 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/53/4853/1 -- To view, visit http://gerrit.cloudera.org:8080/4853 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I465d0e15e2cf17cafe4c747d34c8f595d3645151 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Marcel Kornacker
[Impala-ASF-CR] IMPALA-4260: Alter table add column drops all the column stats
Thomas Tauber-Marshall has posted comments on this change. Change subject: IMPALA-4260: Alter table add column drops all the column stats .. Patch Set 2: (1 comment) The 'describe formatted' issue is unrelated. I filed: https://issues.cloudera.org/browse/IMPALA-4372 http://gerrit.cloudera.org:8080/#/c/4845/1/testdata/workloads/functional-query/queries/QueryTest/compute-stats.test File testdata/workloads/functional-query/queries/QueryTest/compute-stats.test: Line 121: 'new_col2','INT',-1,-1,4,4 > Can you also add a test case for CHANGE and REPLACE columns as well? Turns out this doesn't really work, due to a Hive issue. I added a test for what does work, and I filed: https://issues.apache.org/jira/browse/HIVE-15075 https://jira.cloudera.com/browse/CDH-46452 -- To view, visit http://gerrit.cloudera.org:8080/4845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ia373ec917efa7ab9f2a59b8a870b7ebc30175dda Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4260: Alter table add column drops all the column stats
Hello Dimitris Tsirogiannis, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4845 to look at the new patch set (#2). Change subject: IMPALA-4260: Alter table add column drops all the column stats .. IMPALA-4260: Alter table add column drops all the column stats Hive expects types for column stats to be specified as all lower case. For some reason, it doesn't check this when the stats are first written, but it does check when performing an 'alter table'. This causes it to drop stats that Impala wrote because we specify type names in upper case. This patch converts the types that Impala sends to Hive for the column stats to all lower case and adds a regression test. I also filed HIVE-15061 to track the issue from the Hive end. Change-Id: Ia373ec917efa7ab9f2a59b8a870b7ebc30175dda --- M fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java M testdata/workloads/functional-query/queries/QueryTest/compute-stats.test 2 files changed, 83 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/45/4845/2 -- To view, visit http://gerrit.cloudera.org:8080/4845 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ia373ec917efa7ab9f2a59b8a870b7ebc30175dda Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Matthew Jacobs
[Impala-ASF-CR] IMPALA-3202: DiskIoMgr improvements for new buffer pool
Dan Hecht has posted comments on this change. Change subject: IMPALA-3202: DiskIoMgr improvements for new buffer pool .. Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/4631/3/be/src/runtime/disk-io-mgr-scan-range.cc File be/src/runtime/disk-io-mgr-scan-range.cc: PS3, Line 450: external_buffer_tag_ != ExternalBufferTag::CACHED_BUFFE > The NE/EQ macros don't work for strongly-typed "enum class" unions unfortun okay. but still, wouldn't thie be clearer to check: DCHECK(external_buffer_tag_ == ExternalBufferTag::NO_BUFFER)? i.e. it's not okay to have a client buffer here either. -- To view, visit http://gerrit.cloudera.org:8080/4631 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I913fbb8ae6c242f1585992eb2a622509344dccec Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim ArmstrongGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4309: Introduce Expr rewrite phase and supporting classes.
Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4309: Introduce Expr rewrite phase and supporting classes. .. Patch Set 7: Code-Review+2 (2 comments) http://gerrit.cloudera.org:8080/#/c/4746/7/fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java File fe/src/main/java/org/apache/impala/planner/HdfsPartitionPruner.java: Line 102: public List prunePartitions(Analyzer analyzer, List conjuncts) make this an ImmutableList to express that it doesn't change conjuncts? although that doesn't really help with changing the exprs themselves. hm, not sure if this can expressed in java. Line 122: Expr clonedConjunct = exprRewriter_.rewrite(conjunct.clone(), analyzer); why not simply directly apply the rule like before? -- To view, visit http://gerrit.cloudera.org:8080/4746 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I2279dc984bcf7742db4fa3b1aa67283ecbb05e6e Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex BehmGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Bharath Vissapragada Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Tim Armstrong Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4302,IMPALA-2379: constant expr arg fixes
Tim Armstrong has uploaded a new patch set (#2). Change subject: IMPALA-4302,IMPALA-2379: constant expr arg fixes .. IMPALA-4302,IMPALA-2379: constant expr arg fixes This patch fixes two issues around handling of constant expr args. The patches are combined because they touch some of the same code and depend on some of the same memory management cleanup. First, it fixes IMPALA-2379, where constant expr args were not visible to UDAFs. The issue is that the input exprs need to be opened before calling the UDAF Init() function. Second, it avoids overhead from repeated evaluation of constant arguments for ScalarFnCall expressions on both the codegen'd and A common example is an IN predicate with a long list of constant values. The interpreted path was inefficient because it always evaluated all children expressions. This is improved by separating out constant and non-constant args and only evaluating the non-constant args. The memory management of the AnyVal* objects was somewhat nebulous - adjusted it so that they're allocated from ExprContext::mem_pool_, which has the correct lifetime. The codegen'd path was inefficient only with varargs - with fixed arguments the LLVM optimiser is able to infer after inlining that the expressions are constant and remove all evaluation. However, for varargs it stores the vararg values into a heap-allocated buffer. The LLVM optimiser is unable to remove these stores because they have a side-effect that is visible to code outside the function. The codegen'd path is improved by evaluating varargs into a temporary buffer that can be optimised out. We also make a small related change to bake the string constants into the codegen'd code. Testing: Ran exhaustive build. Added regression test for IMPALA-2379 and MemPool test for aligned allocation. Added a test for in predicates with constant strings. Perf: Added a targeted query that demonstrates the improvement. Also manually validated the non-codegend perf. Also ran TPC-H and targeted perf queries locally - didn't see any significant changes. ++---+---++-++---++-+---+ | Workload | Query | File Format | Avg(s) | Base Avg(s) | Delta(Avg) | StdDev(%) | Base StdDev(%) | Num Clients | Iters | ++---+---++-++---++-+---+ | TARGETED-PERF(_20) | primitive_filter_in_predicate | parquet / none / none | 1.19 | 9.82| I -87.85% | 3.82% | 0.71%| 1 | 10| ++---+---++-++---++-+---+ (I) Improvement: TARGETED-PERF(_20) primitive_filter_in_predicate [parquet / none / none] (9.82s -> 1.19s [-87.85%]) +--++--+--++---+--+--++++---+ | Operator | % of Query | Avg | Base Avg | Delta(Avg) | StdDev(%) | Max | Base Max | Delta(Max) | #Hosts | #Rows | Est #Rows | +--++--+--++---+--+--++++---+ | 01:AGGREGATE | 14.39% | 155.88ms | 214.61ms | -27.37%| 2.68% | 163.38ms | 227.53ms | -28.19%| 1 | 1 | 1 | | 00:SCAN HDFS | 85.60% | 927.46ms | 9.43s| -90.16%| 4.49% | 1.01s| 9.50s| -89.42%| 1 | 13.77K | 14.05K| +--++--+--++---+--+--++++---+ Change-Id: I45c3ed8c9d7a61e94a9b9d6c316e8a53d9ff6c24 --- M be/src/benchmarks/in-predicate-benchmark.cc M be/src/codegen/gen_ir_descriptions.py M be/src/codegen/llvm-codegen.cc M be/src/codegen/llvm-codegen.h M be/src/exec/partitioned-aggregation-node.cc M be/src/exprs/agg-fn-evaluator.cc M be/src/exprs/anyval-util.cc M be/src/exprs/anyval-util.h M be/src/exprs/case-expr.cc M be/src/exprs/expr-context.h M be/src/exprs/expr.cc M be/src/exprs/expr.h M be/src/exprs/hive-udf-call.cc M be/src/exprs/in-predicate.h M be/src/exprs/literal.cc M be/src/exprs/scalar-fn-call.h M be/src/runtime/free-pool-test.cc M be/src/runtime/free-pool.h M be/src/runtime/mem-pool-test.cc M be/src/runtime/mem-pool.cc M be/src/runtime/mem-pool.h M be/src/testutil/test-udas.cc M be/src/udf/udf-internal.h M be/src/udf/udf-test-harness.cc M be/src/udf/udf.cc M be/src/util/bit-util.h M testdata/workloads/functional-query/queries/QueryTest/exprs.test M testdata/workloads/functional-query/queries/QueryTest/uda.test A
[Impala-ASF-CR] IMPALA-3725 Support Kudu UPSERT in Impala
Internal Jenkins has posted comments on this change. Change subject: IMPALA-3725 Support Kudu UPSERT in Impala .. Patch Set 14: Verified-1 Build failed: http://sandbox.jenkins.cloudera.com/job/impala-external-gerrit-verify-merge-ASF/368/ -- To view, visit http://gerrit.cloudera.org:8080/4047 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8df5cea36b642e267f85ff6b163f3dd96b8386e9 Gerrit-PatchSet: 14 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-HasComments: No
[Impala-ASF-CR] IMPALA-1169: Admission control info on the queries debug webpage
Thomas Tauber-Marshall has posted comments on this change. Change subject: IMPALA-1169: Admission control info on the queries debug webpage .. Patch Set 7: (1 comment) http://gerrit.cloudera.org:8080/#/c/4756/6/be/src/scheduling/simple-scheduler.cc File be/src/scheduling/simple-scheduler.cc: PS6, Line 906: TURN_IF_ERROR(admission_controll > slightly easier to read if you reverse the if-branches and remove the ! to Done -- To view, visit http://gerrit.cloudera.org:8080/4756 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I504e3c829a14318721e3a42de6281bcc578f7283 Gerrit-PatchSet: 7 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-MarshallGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4371: Incorrect DCHECK-s in hdfs-parquet-table-writer
Zoltan Ivanfi has uploaded a new patch set (#2). Change subject: IMPALA-4371: Incorrect DCHECK-s in hdfs-parquet-table-writer .. IMPALA-4371: Incorrect DCHECK-s in hdfs-parquet-table-writer Change-Id: I52e1b1354e9ea056b49331e75e53759952a81b76 --- M be/src/exec/hdfs-parquet-table-writer.cc 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/35/4835/2 -- To view, visit http://gerrit.cloudera.org:8080/4835 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I52e1b1354e9ea056b49331e75e53759952a81b76 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Zoltan IvanfiGerrit-Reviewer: Dan Hecht Gerrit-Reviewer: Tim Armstrong
[Impala-ASF-CR] IMPALA-4336: Cast exprs after unnesting union operands.
Alex Behm has posted comments on this change. Change subject: IMPALA-4336: Cast exprs after unnesting union operands. .. Patch Set 1: (8 comments) http://gerrit.cloudera.org:8080/#/c/4815/1//COMMIT_MSG Commit Message: PS1, Line 15: Also clarifies the use of resultExprs vs. baseTblResultExprs : in unions. We should consistently use resultExprs because the : final expr substitution happens during planning. : The only place where baseTblResultExprs should be used is in : UnionStmt.materializeRequiredSlots() because that is called : before plan generation and we need to mark the slots of resolved : exprs as materialized. > I am not sure this belongs to the commit message. If you don't have it alre Shrunk comment here. Moved expanded comment to UnionStmt class comment. http://gerrit.cloudera.org:8080/#/c/4815/1/fe/src/main/java/org/apache/impala/analysis/UnionStmt.java File fe/src/main/java/org/apache/impala/analysis/UnionStmt.java: PS1, Line 202: Propagates DISTINCT from left to right, and checks that all union operands are :* are union compatible, adding implicit casts if necessary. > I think you need to update this comment. This function seems to be doing a I removed this comment because it's redundant with the class comment. Let me know if you feel the class comment still needs to be expanded/moved. PS1, Line 203: are > remove Done PS1, Line 218: // Analyze all operands and make sure they return an equal number of exprs. : for (int i = 0; i < operands_.size(); ++i) { : try { : operands_.get(i).analyze(analyzer); : QueryStmt firstQuery = operands_.get(0).getQueryStmt(); : List firstExprs = operands_.get(0).getQueryStmt().getResultExprs(); : QueryStmt query = operands_.get(i).getQueryStmt(); : List exprs = query.getResultExprs(); : if (firstExprs.size() != exprs.size()) { : throw new AnalysisException("Operands have unequal number of columns:\n" + : "'" + queryStmtToSql(firstQuery) + "' has " + : firstExprs.size() + " column(s)\n" + : "'" + queryStmtToSql(query) + "' has " + exprs.size() + " column(s)"); : } : } catch (AnalysisException e) { : if (analyzer.getMissingTbls().isEmpty()) throw e; : } : } > This function has grown a bit too much. I would put this block is a separat Done Line 241: // Remember SQL string before unnesting operands. > the Done PS1, Line 258: // Cast all result exprs to a compatible type. > move above L263 We need to collect them first before we can analyzer.castToUnionCompatibleTypes(), so seems relevant to this loop as well. Modified comment. PS1, Line 282: // Should never happen : throw new AnalysisException("Error creating agg info in UnionStmt.analyze()"); > Maybe convert it to Preconditions.checkState(false, "Error")? Modified to an ISE which is what the Preconditions would also throw. I prefer the ISe because we can give it a cause. http://gerrit.cloudera.org:8080/#/c/4815/1/testdata/workloads/functional-query/queries/QueryTest/union.test File testdata/workloads/functional-query/queries/QueryTest/union.test: PS1, Line 1030: (select 80 union all select 90) > Maybe add a test case with nested union distinct, if not already there. A nested union distinct cannot be unnested, so is not really related to this bug. We have tests for that elsewhere. -- To view, visit http://gerrit.cloudera.org:8080/4815 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5e3ab7349df7d67d0d9c2baf4a56342d3f04e76d Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex BehmGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-HasComments: Yes
[Impala-ASF-CR] IMPALA-4336: Cast exprs after unnesting union operands.
Alex Behm has uploaded a new patch set (#2). Change subject: IMPALA-4336: Cast exprs after unnesting union operands. .. IMPALA-4336: Cast exprs after unnesting union operands. The bug was that we cast the result exprs of operands before unnesting them. If we unnested an operands, casts were missing on those unnested operands' result exprs. The fix is to first unnest operands and then cast result exprs. Also clarifies the use of resultExprs vs. baseTblResultExprs. Change-Id: I5e3ab7349df7d67d0d9c2baf4a56342d3f04e76d --- M fe/src/main/java/org/apache/impala/analysis/Expr.java M fe/src/main/java/org/apache/impala/analysis/UnionStmt.java M fe/src/main/java/org/apache/impala/planner/SingleNodePlanner.java M fe/src/main/java/org/apache/impala/planner/UnionNode.java M testdata/workloads/functional-query/queries/QueryTest/union.test 5 files changed, 137 insertions(+), 104 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/15/4815/2 -- To view, visit http://gerrit.cloudera.org:8080/4815 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5e3ab7349df7d67d0d9c2baf4a56342d3f04e76d Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex BehmGerrit-Reviewer: Alex Behm Gerrit-Reviewer: Dimitris Tsirogiannis