diff --git a/be/src/common/logging.cc b/be/src/common/logging.cc index f05a7815c..d47f6236f 100644 --- a/be/src/common/logging.cc +++ b/be/src/common/logging.cc @@ -43,7 +43,7 @@ DECLARE_string(redaction_rules_file); DECLARE_string(log_filename); DECLARE_bool(redirect_stdout_stderr); -DECLARE_int32(max_log_size); +DECLARE_uint32(max_log_size); DECLARE_bool(log_rotation_match_pid); using boost::uuids::random_generator; diff --git a/be/src/gutil/dynamic_annotations.h b/be/src/gutil/dynamic_annotations.h index ce68d8912..81458e504 100644 --- a/be/src/gutil/dynamic_annotations.h +++ b/be/src/gutil/dynamic_annotations.h @@ -515,7 +515,7 @@ void AnnotateBenignRace(const char *file, int line, const char *description); void AnnotateBenignRaceSized(const char *file, int line, const volatile void *address, - long size, + size_t size, const char *description); void AnnotateMutexIsUsedAsCondVar(const char *file, int line, const volatile void *mu); diff --git a/be/src/kudu/util/async_logger.cc b/be/src/kudu/util/async_logger.cc index 3214a42c8..be1678938 100644 --- a/be/src/kudu/util/async_logger.cc +++ b/be/src/kudu/util/async_logger.cc @@ -61,7 +61,7 @@ void AsyncLogger::Stop() { void AsyncLogger::Write(bool force_flush, time_t timestamp, const char* message, - int message_len) { + size_t message_len) { { MutexLock l(lock_); DCHECK_EQ(state_, RUNNING); diff --git a/be/src/kudu/util/async_logger.h b/be/src/kudu/util/async_logger.h index aedbddef0..48a304657 100644 --- a/be/src/kudu/util/async_logger.h +++ b/be/src/kudu/util/async_logger.h @@ -86,7 +86,7 @@ class AsyncLogger : public google::base::Logger { void Write(bool force_flush, time_t timestamp, const char* message, - int message_len) override; + size_t message_len) override; // Flush any buffered messages. void Flush() override; diff --git a/be/src/kudu/util/debug-util.cc b/be/src/kudu/util/debug-util.cc index 44a44aa13..3db8afd97 100644 --- a/be/src/kudu/util/debug-util.cc +++ b/be/src/kudu/util/debug-util.cc @@ -108,7 +108,7 @@ extern int GetStackTrace(void** result, int max_depth, int skip_count); // symbol name to "out". The symbol name is demangled if possible // (supports symbols generated by GCC 3.x or newer). Otherwise, // returns false. -bool Symbolize(void *pc, char *out, int out_size); +bool Symbolize(void *pc, char *out, size_t out_size); namespace glog_internal_namespace_ { extern void DumpStackTraceToString(string *s); diff --git a/be/src/kudu/util/debug/trace_logging.h b/be/src/kudu/util/debug/trace_logging.h index 2f0fec944..3b68a26a5 100644 --- a/be/src/kudu/util/debug/trace_logging.h +++ b/be/src/kudu/util/debug/trace_logging.h @@ -116,7 +116,7 @@ class TraceGLog { // we defer the tracing until the google::LogMessage has destructed and the // glog lock is available again. str_ = ToString(severity, base_filename, line, - tm_time, message, message_len); + google::LogMessageTime(*tm_time), message, message_len); } virtual ~TraceLogSink() { TRACE_EVENT_INSTANT1(category_, "vlog", TRACE_EVENT_SCOPE_THREAD, diff --git a/be/src/kudu/util/flags.cc b/be/src/kudu/util/flags.cc index ea6d84245..0d3f4448f 100644 --- a/be/src/kudu/util/flags.cc +++ b/be/src/kudu/util/flags.cc @@ -245,7 +245,7 @@ DECLARE_bool(logtostderr); TAG_FLAG(logtostderr, stable); TAG_FLAG(logtostderr, runtime); -DECLARE_int32(max_log_size); +DECLARE_uint32(max_log_size); TAG_FLAG(max_log_size, stable); TAG_FLAG(max_log_size, runtime); diff --git a/be/src/kudu/util/logging.cc b/be/src/kudu/util/logging.cc index ff701cc0a..361671743 100644 --- a/be/src/kudu/util/logging.cc +++ b/be/src/kudu/util/logging.cc @@ -188,7 +188,7 @@ void FlushCoverageOnExit() { // the first time it's called. // // NOTE: this is only used in coverage builds! -void FailureWriterWithCoverage(const char* data, int size) { +void FailureWriterWithCoverage(const char* data, size_t size) { FlushCoverageOnExit(); // Original implementation from glog: @@ -201,7 +201,8 @@ void FailureWriterWithCoverage(const char* data, int size) { // ensure that we flush coverage even on crashes. // // NOTE: this is only used in coverage builds! -void FlushCoverageAndAbort() { +// NOTE: __attribute__((noreturn)) is needed for Clang builds. +__attribute__((noreturn)) void FlushCoverageAndAbort() { FlushCoverageOnExit(); abort(); } diff --git a/be/src/kudu/util/logging.h b/be/src/kudu/util/logging.h index 8e2241f28..8c2323c7a 100644 --- a/be/src/kudu/util/logging.h +++ b/be/src/kudu/util/logging.h @@ -226,9 +226,6 @@ enum PRIVATE_ThrottleMsg {THROTTLE_MSG}; // The direct user-facing macros. #define KLOG_EVERY_N(severity, n) \ - GOOGLE_GLOG_COMPILE_ASSERT(google::GLOG_ ## severity < \ - google::NUM_SEVERITIES, \ - INVALID_REQUESTED_LOG_SEVERITY); \ KUDU_SOME_KIND_OF_LOG_EVERY_N(severity, (n), google::LogMessage::SendToLog) #define KSYSLOG_EVERY_N(severity, n) \ diff --git a/be/src/kudu/util/logging_test_util.h b/be/src/kudu/util/logging_test_util.h index 810237508..8f55e3e29 100644 --- a/be/src/kudu/util/logging_test_util.h +++ b/be/src/kudu/util/logging_test_util.h @@ -32,7 +32,7 @@ class StringVectorSink : public google::LogSink { const struct ::tm* tm_time, const char* message, size_t message_len) override { logged_msgs_.push_back(ToString(severity, base_filename, line, - tm_time, message, message_len)); + google::LogMessageTime(*tm_time), message, message_len)); } std::vector& logged_msgs() { diff --git a/be/src/runtime/io/data-cache-trace.cc b/be/src/runtime/io/data-cache-trace.cc index 0b0685387..f7a542220 100644 --- a/be/src/runtime/io/data-cache-trace.cc +++ b/be/src/runtime/io/data-cache-trace.cc @@ -174,7 +174,7 @@ class SimpleLoggerWrapper : public google::base::Logger { void Write(bool force_flush, time_t timestamp, const char* message, - int message_len) override { + size_t message_len) override { string message_str(message, message_len); Status status = logger_.AppendEntry(message_str); if (!status.ok()) { diff --git a/bin/impala-config.sh b/bin/impala-config.sh index 098707c71..7f8e1ae97 100755 --- a/bin/impala-config.sh +++ b/bin/impala-config.sh @@ -81,13 +81,13 @@ export USE_AVRO_CPP=${USE_AVRO_CPP:=false} # moving to a different build of the toolchain, e.g. when a version is bumped or a # compile option is changed. The build id can be found in the output of the toolchain # build jobs, it is constructed from the build number and toolchain git hash prefix. -export IMPALA_TOOLCHAIN_BUILD_ID_AARCH64=78-49a326be6f -export IMPALA_TOOLCHAIN_BUILD_ID_X86_64=509-49a326be6f +export IMPALA_TOOLCHAIN_BUILD_ID_AARCH64=90-f9f56a8a24 +export IMPALA_TOOLCHAIN_BUILD_ID_X86_64=523-f9f56a8a24 export IMPALA_TOOLCHAIN_REPO=\ ${IMPALA_TOOLCHAIN_REPO:-https://github.com/cloudera/native-toolchain.git} export IMPALA_TOOLCHAIN_BRANCH=${IMPALA_TOOLCHAIN_BRANCH:-master} export IMPALA_TOOLCHAIN_COMMIT_HASH=\ -${IMPALA_TOOLCHAIN_COMMIT_HASH-49a326be6f1836127b1189cea71ea9832b31b7aa} +${IMPALA_TOOLCHAIN_COMMIT_HASH-f9f56a8a2414dd75c636175af6da930c3f6d6934} # Compare the build ref in build IDs by removing everything up-to-and-including the # first hyphen. if [ "${IMPALA_TOOLCHAIN_BUILD_ID_AARCH64#*-}" \ @@ -133,7 +133,7 @@ export IMPALA_GDB_VERSION=12.1 unset IMPALA_GDB_URL export IMPALA_GFLAGS_VERSION=2.2.0-p2 unset IMPALA_GFLAGS_URL -export IMPALA_GLOG_VERSION=0.3.5-p3 +export IMPALA_GLOG_VERSION=0.6.0-p2 unset IMPALA_GLOG_URL export IMPALA_GPERFTOOLS_VERSION=2.10-p1 unset IMPALA_GPERFTOOLS_URL