Skip to content

Commit

Permalink
Automated rollback of changelist 629617917.
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 629640196
  • Loading branch information
ctiller authored and Copybara-Service committed May 1, 2024
1 parent 760f2ae commit 0281c0a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
9 changes: 8 additions & 1 deletion src/core/lib/surface/call.cc
Original file line number Diff line number Diff line change
Expand Up @@ -353,12 +353,19 @@ void Call::HandleCompressionAlgorithmDisabled(
}

void Call::UpdateDeadline(Timestamp deadline) {
MutexLock lock(&deadline_mu_);
ReleasableMutexLock lock(&deadline_mu_);
if (grpc_call_trace.enabled()) {
gpr_log(GPR_DEBUG, "[call %p] UpdateDeadline from=%s to=%s", this,
deadline_.ToString().c_str(), deadline.ToString().c_str());
}
if (deadline >= deadline_) return;
if (deadline < Timestamp::Now()) {
lock.Release();
CancelWithError(grpc_error_set_int(
absl::DeadlineExceededError("Deadline Exceeded"),
StatusIntProperty::kRpcStatus, GRPC_STATUS_DEADLINE_EXCEEDED));
return;
}
auto* const event_engine = channel()->event_engine();
if (deadline_ != Timestamp::InfFuture()) {
if (!event_engine->Cancel(deadline_task_)) return;
Expand Down
15 changes: 10 additions & 5 deletions test/core/xds/xds_client_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -627,10 +627,12 @@ class XdsClientTest : public ::testing::Test {
uint64_t>;
using ServerFailureMap = std::map<std::string /*xds_server*/, uint64_t>;

const ResourceUpdateMap& resource_updates_valid() const {
ResourceUpdateMap resource_updates_valid() const {
MutexLock lock(&mu_);
return resource_updates_valid_;
}
const ResourceUpdateMap& resource_updates_invalid() const {
ResourceUpdateMap resource_updates_invalid() const {
MutexLock lock(&mu_);
return resource_updates_invalid_;
}
const ServerFailureMap& server_failures() const { return server_failures_; }
Expand All @@ -640,6 +642,7 @@ class XdsClientTest : public ::testing::Test {
absl::string_view resource_type,
uint64_t num_resources_valid,
uint64_t num_resources_invalid) override {
MutexLock lock(&mu_);
auto key =
std::make_pair(std::string(xds_server), std::string(resource_type));
if (num_resources_valid > 0) {
Expand All @@ -651,12 +654,14 @@ class XdsClientTest : public ::testing::Test {
}

void ReportServerFailure(absl::string_view xds_server) override {
MutexLock lock(&mu_);
++server_failures_[std::string(xds_server)];
}

ResourceUpdateMap resource_updates_valid_;
ResourceUpdateMap resource_updates_invalid_;
ServerFailureMap server_failures_;
mutable Mutex mu_;
ResourceUpdateMap resource_updates_valid_ ABSL_GUARDED_BY(mu_);
ResourceUpdateMap resource_updates_invalid_ ABSL_GUARDED_BY(mu_);
ServerFailureMap server_failures_ ABSL_GUARDED_BY(mu_);
};

using ResourceCounts =
Expand Down

0 comments on commit 0281c0a

Please sign in to comment.