Tim Armstrong has uploaded a new patch set (#3). 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 --- 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/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.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 154 files changed, 1,196 insertions(+), 946 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/08/3108/3 -- To view, visit http://gerrit.cloudera.org:8080/3108 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3b246ad9c3681d649e7bfc969c7fa885c6242d84 Gerrit-PatchSet: 3 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Tim Armstrong <[email protected]>
