diff --git a/.bazelrc b/.bazelrc index 0f66d819b..525535336 100644 --- a/.bazelrc +++ b/.bazelrc @@ -254,7 +254,7 @@ build:remote-clang-cl --config=rbe-toolchain-clang-cl # Docker sandbox # NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8 -build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:b480535e8423b5fd7c102fd30c92f4785519e33a +build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:19a268cfe3d12625380e7c61d2467c8779b58b56 build:docker-sandbox --spawn_strategy=docker build:docker-sandbox --strategy=Javac=docker build:docker-sandbox --strategy=Closure=docker diff --git a/.circleci/config.yml b/.circleci/config.yml index 8559d09e4..a1415233a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,6 @@ references: - envoy-build-image: &envoy-build-image # October 12th, 2020 - envoyproxy/envoy-build-ubuntu:b480535e8423b5fd7c102fd30c92f4785519e33a + envoy-build-image: &envoy-build-image # November 10th, 2020 + envoyproxy/envoy-build-ubuntu:19a268cfe3d12625380e7c61d2467c8779b58b56 version: 2 jobs: build: diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index c4fb1f405..1592a3271 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -1,7 +1,7 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -ENVOY_COMMIT = "0226d0e084d832ce24ee6303f5cb2fc01ec4970b" # November 2nd, 2020 -ENVOY_SHA = "ed91cf0946155aac81c4601d55d81ba10d9189628259846c62f84fbe5a9059c0" +ENVOY_COMMIT = "8e6b176b89240d1b8ce3f3e4a8e276e4a40fcd1e" # November 10th, 2020 +ENVOY_SHA = "1eba9e904699bbc43c708f90c9e7b1354aed7bafe3784be2c6bfa04919cc67eb" HDR_HISTOGRAM_C_VERSION = "0.11.2" # October 12th, 2020 HDR_HISTOGRAM_C_SHA = "637f28b5f64de2e268131e4e34e6eef0b91cf5ff99167db447d9b2825eae6bad" diff --git a/source/client/flush_worker_impl.cc b/source/client/flush_worker_impl.cc index a1a5bd26b..d369a74ae 100644 --- a/source/client/flush_worker_impl.cc +++ b/source/client/flush_worker_impl.cc @@ -37,7 +37,7 @@ void FlushWorkerImpl::flushStats() { // Create a snapshot and flush to all sinks. Even if there are no sinks, // creating the snapshot has the important property that it latches all counters on a periodic // basis. - Envoy::Server::MetricSnapshotImpl snapshot(store_); + Envoy::Server::MetricSnapshotImpl snapshot(store_, time_source_); for (std::unique_ptr& sink : stats_sinks_) { sink->flush(snapshot); } diff --git a/source/client/stream_decoder.cc b/source/client/stream_decoder.cc index 86f4c681d..4c935e959 100644 --- a/source/client/stream_decoder.cc +++ b/source/client/stream_decoder.cc @@ -107,7 +107,14 @@ void StreamDecoder::onPoolReady(Envoy::Http::RequestEncoder& encoder, // Make sure we hear about stream resets on the encoder. encoder.getStream().addCallbacks(*this); upstream_timing_.onFirstUpstreamTxByteSent(time_source_); // XXX(oschaaf): is this correct? - encoder.encodeHeaders(*request_headers_, request_body_size_ == 0); + const Envoy::Http::Status status = + encoder.encodeHeaders(*request_headers_, request_body_size_ == 0); + if (!status.ok()) { + ENVOY_LOG_EVERY_POW_2(error, + "Request header encoding failure. Might be missing one or more required " + "HTTP headers in {}.", + request_headers_); + } if (request_body_size_ > 0) { // TODO(https://github.com/envoyproxy/nighthawk/issues/138): This will show up in the zipkin UI // as 'response_size'. We add it here, optimistically assuming it will all be send. Ideally, diff --git a/test/benchmark_http_client_test.cc b/test/benchmark_http_client_test.cc index f61f0f8a6..e92cbaf13 100644 --- a/test/benchmark_http_client_test.cc +++ b/test/benchmark_http_client_test.cc @@ -110,6 +110,7 @@ class BenchmarkClientHttpTest : public Test { .WillByDefault( WithArgs<0>(([&called_headers](const Envoy::Http::RequestHeaderMap& specific_request) { called_headers.insert(getPathFromRequest(specific_request)); + return Envoy::Http::Status(); }))); EXPECT_CALL(pool_, newStream(_, _)) diff --git a/test/stream_decoder_test.cc b/test/stream_decoder_test.cc index 4603c0e65..cd7630389 100644 --- a/test/stream_decoder_test.cc +++ b/test/stream_decoder_test.cc @@ -26,7 +26,8 @@ class StreamDecoderTest : public Test, public StreamDecoderCompletionCallback { : api_(Envoy::Api::createApiForTest(time_system_)), dispatcher_(api_->allocateDispatcher("test_thread")), request_headers_(std::make_shared( - std::initializer_list>({{":method", "GET"}}))), + std::initializer_list>( + {{":method", "GET"}, {":path", "/foo"}}))), http_tracer_(std::make_unique()), test_header_(std::make_unique( std::initializer_list>({{":status", "200"}}))),