Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ build:asan --config=sanitizer
# ASAN install its signal handler, disable ours so the stacktrace will be printed by ASAN
build:asan --define signal_trace=disabled
build:asan --define ENVOY_CONFIG_ASAN=1
# The following two lines were manually edited due to #593.
# Flag undefined was dropped from both the lines to allow CI/ASAN to pass.
build:asan --copt -fsanitize=address
build:asan --linkopt -fsanitize=address
# vptr and function sanitizer are enabled in clang-asan if it is set up via bazel/setup_clang.sh.
Expand Down Expand Up @@ -254,7 +256,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:19a268cfe3d12625380e7c61d2467c8779b58b56
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:11efa5680d987fff33fde4af3cc5ece105015d04
build:docker-sandbox --spawn_strategy=docker
build:docker-sandbox --strategy=Javac=docker
build:docker-sandbox --strategy=Closure=docker
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.6.0
3.7.2
4 changes: 2 additions & 2 deletions bazel/repositories.bzl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

ENVOY_COMMIT = "937f0133355cf2d8eb9e75d3f09e296bb63951be" # Jan 5th, 2021
ENVOY_SHA = "5bdb98e2f2bad83ac672862e399e4ae2d0ca28c31740a3af16d154fc37401ca7"
ENVOY_COMMIT = "c2522c69f69b318e30927995468c7f440ad2cb5c" # Jan 11th, 2021
ENVOY_SHA = "2d9b674e8bf249b38d338efe30c0b4e8c8b892f8c5d7f11d1654af0962002cf5"

HDR_HISTOGRAM_C_VERSION = "0.11.2" # October 12th, 2020
HDR_HISTOGRAM_C_SHA = "637f28b5f64de2e268131e4e34e6eef0b91cf5ff99167db447d9b2825eae6bad"
Expand Down
6 changes: 1 addition & 5 deletions source/client/stream_decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,7 @@ void StreamDecoder::setupForTracing() {
// segfault without it.
const auto remote_address = Envoy::Network::Address::InstanceConstSharedPtr{
new Envoy::Network::Address::Ipv4Instance("127.0.0.1")};
stream_info_.setDownstreamDirectRemoteAddress(remote_address);
// For good measure, we also set DownstreamRemoteAddress, as the associated getter will crash
// if we don't. So this is just in case anyone calls that (or Envoy starts doing so in the
// future).
stream_info_.setDownstreamRemoteAddress(remote_address);
downstream_address_setter_->setDirectRemoteAddressForTest(remote_address);
}

} // namespace Client
Expand Down
10 changes: 7 additions & 3 deletions source/client/stream_decoder.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,12 @@ class StreamDecoder : public Envoy::Http::ResponseDecoder,
origin_latency_statistic_(origin_latency_statistic),
request_headers_(std::move(request_headers)), connect_start_(time_source_.monotonicTime()),
complete_(false), measure_latencies_(measure_latencies),
request_body_size_(request_body_size), stream_info_(time_source_),
random_generator_(random_generator), http_tracer_(http_tracer),
latency_response_header_name_(latency_response_header_name) {
request_body_size_(request_body_size),
downstream_address_setter_(std::make_shared<Envoy::Network::SocketAddressSetterImpl>(
// The two addresses aren't used in an execution of Nighthawk.
/* downstream_local_address = */ nullptr, /* downstream_remote_address = */ nullptr)),
stream_info_(time_source_, downstream_address_setter_), random_generator_(random_generator),
http_tracer_(http_tracer), latency_response_header_name_(latency_response_header_name) {
if (measure_latencies_ && http_tracer_ != nullptr) {
setupForTracing();
}
Expand Down Expand Up @@ -117,6 +120,7 @@ class StreamDecoder : public Envoy::Http::ResponseDecoder,
bool measure_latencies_;
const uint32_t request_body_size_;
Envoy::Tracing::EgressConfigImpl config_;
std::shared_ptr<Envoy::Network::SocketAddressSetterImpl> downstream_address_setter_;
Envoy::StreamInfo::StreamInfoImpl stream_info_;
Envoy::Random::RandomGenerator& random_generator_;
Envoy::Tracing::HttpTracerSharedPtr& http_tracer_;
Expand Down