Hello Jim Apple, Dan Hecht, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/7253 to look at the new patch set (#10). Change subject: IMPALA-2615: support [[nodiscard]] on Status ...................................................................... IMPALA-2615: support [[nodiscard]] on Status This is the set of changes required to get Impala to compile on GCC 7 using the [[nodiscard]] attribute, which generates a warning whenever a status is dropped. It is not enabled on the current default compiler GCC 4.9.2 or Clang 3.8 so I added WARN_UNUSED_RESULT in various classes so that we can catch the dropped statuses with our current toolchain. The changes are: * Use the new [[nodiscard]] attribute and fix all the dropped statuses. Many were innocuous or very improbably but some appear to be actual bugs. Adds a discard_result() function that explicitly ignores the result of a function. * Removes the bad JNI pattern of checking for exceptions after DeleteGlobalRef(), which doesn't throw. * Fix miscellaneous compile errors and warnings. * Remove use of ptr_vector, which pulls in headers with deprecated things. * Fix a memory lifetime bug with default_fs_ (it was masked by the old refcounted std::string implementation). Change-Id: I972543af2e9f98b12dcbb5479b4c1a7d53952197 --- M CMakeLists.txt M be/CMakeLists.txt M be/src/benchmarks/bit-packing-benchmark.cc M be/src/benchmarks/expr-benchmark.cc M be/src/benchmarks/hash-benchmark.cc M be/src/benchmarks/network-perf-benchmark.cc M be/src/benchmarks/row-batch-serialize-benchmark.cc M be/src/catalog/catalog-server.cc M be/src/catalog/catalog-util.cc M be/src/catalog/catalogd-main.cc M be/src/codegen/codegen-symbol-emitter.cc M be/src/codegen/llvm-codegen-test.cc M be/src/common/compiler-util.h M be/src/common/init.cc M be/src/common/status.h M be/src/exec/external-data-source-executor.cc M be/src/exec/hbase-scan-node.cc M be/src/exec/hbase-table-scanner.cc M be/src/exec/hbase-table-scanner.h M be/src/exec/hbase-table-writer.cc M be/src/exec/hdfs-scan-node.cc M be/src/exec/kudu-scan-node.cc M be/src/exec/kudu-table-sink.cc M be/src/exec/kudu-table-sink.h M be/src/exec/kudu-util.h M be/src/experiments/compression-test.cc M be/src/exprs/expr-codegen-test.cc M be/src/exprs/expr-test.cc M be/src/exprs/hive-udf-call.cc M be/src/rpc/auth-provider.h M be/src/rpc/thrift-client.cc M be/src/rpc/thrift-client.h M be/src/runtime/buffered-tuple-stream-test.cc M be/src/runtime/bufferpool/buffer-pool-test.cc M be/src/runtime/client-cache.cc M be/src/runtime/client-cache.h M be/src/runtime/collection-value-builder.h M be/src/runtime/coordinator-backend-state.cc M be/src/runtime/data-stream-recvr.cc M be/src/runtime/data-stream-test.cc M be/src/runtime/disk-io-mgr.cc M be/src/runtime/exec-env.cc M be/src/runtime/exec-env.h M be/src/runtime/fragment-instance-state.cc M be/src/runtime/hbase-table-factory.cc M be/src/runtime/hbase-table.cc M be/src/runtime/parallel-executor.cc M be/src/runtime/tmp-file-mgr-test.cc M be/src/runtime/tmp-file-mgr.cc M be/src/scheduling/scheduler-test-util.cc M be/src/scheduling/scheduler-test.cc M be/src/service/client-request-state.cc M be/src/service/fe-support.cc M be/src/service/impala-beeswax-server.cc M be/src/service/impala-hs2-server.cc M be/src/service/impala-http-handler.cc M be/src/service/impala-server.cc M be/src/service/impalad-main.cc M be/src/service/query-options-test.cc M be/src/statestore/statestore.cc M be/src/statestore/statestore.h M be/src/statestore/statestored-main.cc M be/src/testutil/death-test-util.h M be/src/testutil/fault-injection-util.cc M be/src/testutil/impalad-query-executor.cc M be/src/testutil/in-process-servers.cc M be/src/testutil/in-process-servers.h M be/src/util/benchmark.cc M be/src/util/bit-util-test.cc M be/src/util/codec.h M be/src/util/filesystem-util.h M be/src/util/hdfs-util-test.cc M be/src/util/jni-util.cc M be/src/util/jni-util.h M be/src/util/memory-metrics.h M be/src/util/metrics-test.cc M be/src/util/network-util.h M be/src/util/parquet-reader.cc M be/src/util/runtime-profile.cc M be/src/util/runtime-profile.h M be/src/util/thread-pool.h M be/src/util/thread.cc M be/src/util/thread.h 83 files changed, 401 insertions(+), 309 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/53/7253/10 -- To view, visit http://gerrit.cloudera.org:8080/7253 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I972543af2e9f98b12dcbb5479b4c1a7d53952197 Gerrit-PatchSet: 10 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Jim Apple <jbapple-imp...@apache.org> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>