Internal Jenkins has submitted this change and it was merged. Change subject: Refactor RuntimeState and ExecEnv dependencies ......................................................................
Refactor RuntimeState and ExecEnv dependencies Previously including runtime-state.h or exec-env.h pulled in a huge number of headers. By replacing all of those includes with forward declarations, we can reduce the number of headers included when building each source file. This required various changes, including splitting header files, and in one case extracting the nested DiskIoMgr::RequestContext class so that the RequestContext can be instantiated without the full DiskIoMgr header. The payoff is that touching many header files results in significantly smaller incremental builds. E.g. changes to bloom-filter.h only require recompiling a handful of files, instead of 100+. Build time of individual files should also be slightly quicker, since they pull in fewer headers. Change-Id: I3b246ad9c3681d649e7bfc969c7fa885c6242d84 Reviewed-on: http://gerrit.cloudera.org:8080/3108 Reviewed-by: Tim Armstrong <[email protected]> Tested-by: Internal Jenkins --- M be/src/benchmarks/row-batch-serialize-benchmark.cc M be/src/codegen/codegen-anyval.h M be/src/codegen/llvm-codegen-test.cc M be/src/codegen/llvm-codegen.cc M be/src/common/status.h M be/src/exec/aggregation-node.cc M be/src/exec/aggregation-node.h M be/src/exec/analytic-eval-node.cc M be/src/exec/base-sequence-scanner.cc M be/src/exec/blocking-join-node.cc M be/src/exec/catalog-op-executor.cc M be/src/exec/data-sink.cc M be/src/exec/data-source-scan-node.cc M be/src/exec/exchange-node.cc M be/src/exec/exec-node.cc M be/src/exec/filter-context.cc M be/src/exec/hash-join-node.cc M be/src/exec/hash-table-test.cc M be/src/exec/hash-table.h M be/src/exec/hbase-scan-node.cc M be/src/exec/hbase-table-scanner.cc M be/src/exec/hbase-table-sink.cc M be/src/exec/hbase-table-writer.cc M be/src/exec/hbase-table-writer.h M be/src/exec/hdfs-avro-scanner-ir.cc M be/src/exec/hdfs-avro-scanner.cc M be/src/exec/hdfs-avro-table-writer.cc M be/src/exec/hdfs-avro-table-writer.h M be/src/exec/hdfs-parquet-scanner.cc M be/src/exec/hdfs-parquet-scanner.h M be/src/exec/hdfs-parquet-table-writer.cc M be/src/exec/hdfs-rcfile-scanner.cc M be/src/exec/hdfs-scan-node.cc M be/src/exec/hdfs-scan-node.h M be/src/exec/hdfs-scanner.cc M be/src/exec/hdfs-sequence-scanner.cc M be/src/exec/hdfs-sequence-table-writer.cc M be/src/exec/hdfs-table-writer.cc M be/src/exec/hdfs-text-scanner.cc M be/src/exec/hdfs-text-scanner.h M be/src/exec/hdfs-text-table-writer.cc M be/src/exec/kudu-scan-node-test.cc M be/src/exec/kudu-scan-node.cc M be/src/exec/kudu-scanner.cc M be/src/exec/kudu-table-sink-test.cc M be/src/exec/kudu-table-sink.cc M be/src/exec/kudu-testutil.h M be/src/exec/nested-loop-join-node.cc M be/src/exec/old-hash-table-test.cc M be/src/exec/old-hash-table.cc M be/src/exec/old-hash-table.h M be/src/exec/partitioned-aggregation-node.cc M be/src/exec/partitioned-aggregation-node.h M be/src/exec/partitioned-hash-join-node.cc M be/src/exec/row-batch-list-test.cc M be/src/exec/scan-node.cc M be/src/exec/scanner-context.cc M be/src/exec/scanner-context.h M be/src/exec/select-node.cc M be/src/exec/sort-node.cc M be/src/exec/subplan-node.cc M be/src/exec/text-converter.cc M be/src/exec/topn-node.cc M be/src/exec/union-node.cc M be/src/exec/unnest-node.cc M be/src/experiments/data-provider.cc M be/src/experiments/tuple-splitter-test.cc M be/src/exprs/agg-fn-evaluator.h M be/src/exprs/compound-predicates.cc M be/src/exprs/compound-predicates.h M be/src/exprs/expr-benchmark.cc M be/src/exprs/expr-codegen-test.cc M be/src/exprs/expr-context.cc M be/src/exprs/expr-test.cc M be/src/exprs/expr.cc M be/src/exprs/expr.h M be/src/exprs/in-predicate-ir.cc M be/src/exprs/math-functions-ir.cc M be/src/exprs/slot-ref.cc M be/src/exprs/slot-ref.h M be/src/exprs/tuple-is-null-predicate.cc M be/src/runtime/CMakeLists.txt M be/src/runtime/backend-client.h M be/src/runtime/buffered-block-mgr.cc M be/src/runtime/buffered-block-mgr.h M be/src/runtime/buffered-tuple-stream.cc A be/src/runtime/client-cache-types.h M be/src/runtime/client-cache.h M be/src/runtime/collection-value-builder-test.cc M be/src/runtime/coordinator.cc M be/src/runtime/coordinator.h M be/src/runtime/data-stream-mgr.cc M be/src/runtime/data-stream-mgr.h M be/src/runtime/data-stream-recvr.cc M be/src/runtime/data-stream-sender.cc M be/src/runtime/data-stream-sender.h M be/src/runtime/data-stream-test.cc M be/src/runtime/descriptors.h M be/src/runtime/disk-io-mgr-internal.h M be/src/runtime/disk-io-mgr-reader-context.cc M be/src/runtime/disk-io-mgr-scan-range.cc M be/src/runtime/disk-io-mgr-stress.cc M be/src/runtime/disk-io-mgr-test.cc M be/src/runtime/disk-io-mgr.cc M be/src/runtime/disk-io-mgr.h M be/src/runtime/exec-env.cc M be/src/runtime/exec-env.h M be/src/runtime/lib-cache.cc M be/src/runtime/lib-cache.h M be/src/runtime/mem-pool.h M be/src/runtime/mem-tracker.h M be/src/runtime/plan-fragment-executor.cc M be/src/runtime/plan-fragment-executor.h M be/src/runtime/row-batch-serialize-test.cc M be/src/runtime/row-batch.h A be/src/runtime/runtime-filter-bank.cc A be/src/runtime/runtime-filter-bank.h M be/src/runtime/runtime-filter.cc M be/src/runtime/runtime-filter.h M be/src/runtime/runtime-state.cc M be/src/runtime/runtime-state.h M be/src/runtime/sorted-run-merger.cc M be/src/runtime/sorter.cc M be/src/runtime/string-buffer.h M be/src/runtime/thread-resource-mgr.h M be/src/runtime/tuple.cc M be/src/scheduling/admission-controller.cc M be/src/scheduling/query-resource-mgr.cc M be/src/scheduling/simple-scheduler.cc M be/src/service/fragment-exec-state.cc M be/src/service/fragment-mgr.cc M be/src/service/impala-beeswax-server.cc M be/src/service/impala-hs2-server.cc M be/src/service/query-exec-state.cc M be/src/statestore/statestore-subscriber.h M be/src/testutil/desc-tbl-builder.cc M be/src/testutil/desc-tbl-builder.h M be/src/util/auth-util.cc M be/src/util/auth-util.h M be/src/util/avro-util.cc M be/src/util/codec.h M be/src/util/decompress.cc M be/src/util/dict-encoding.h A be/src/util/hdfs-bulk-ops-defs.h M be/src/util/hdfs-bulk-ops.h M be/src/util/metrics.h M be/src/util/periodic-counter-updater.cc A 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 be/src/util/simple-logger.cc M be/src/util/simple-logger.h M be/src/util/streaming-sampler.h M be/src/util/tuple-row-compare.cc M be/src/util/tuple-row-compare.h 156 files changed, 1,415 insertions(+), 1,139 deletions(-) Approvals: Internal Jenkins: Verified Tim Armstrong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/3108 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I3b246ad9c3681d649e7bfc969c7fa885c6242d84 Gerrit-PatchSet: 7 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
