Skip to content

Commit 32fdac9

Browse files
committed
Add check for writeHandle before reansforming write_object_spec to append_object_spec
1 parent 05b46d0 commit 32fdac9

3 files changed

Lines changed: 7 additions & 4 deletions

File tree

google/cloud/storage/internal/async/handle_redirect_error.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
2323
void EnsureFirstMessageAppendObjectSpec(
2424
google::storage::v2::BidiWriteObjectRequest& request,
2525
google::rpc::Status const& rpc_status) {
26-
for (auto const& rpc_status_detail : rpc_status.details()) {
26+
for (auto const& any : rpc_status.details()) {
2727
google::storage::v2::BidiWriteObjectRedirectedError error =
2828
google::storage::v2::BidiWriteObjectRedirectedError{};
29-
if (!rpc_status_detail.UnpackTo(&error)) continue;
29+
if (!any.UnpackTo(&error)) continue;
3030
if (!error.has_write_handle()) continue;
3131
if (request.has_write_object_spec()) {
3232
auto spec = request.write_object_spec();

google/cloud/storage/internal/async/handle_redirect_error_test.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ TEST(EnsureFirstMessageAppendObjectSpec, Success) {
7575
ASSERT_TRUE(google::protobuf::TextFormat::ParseFromString(
7676
R"pb(
7777
write_object_spec {
78-
resource { bucket: "projects/_/buckets/b", name: "o" }
78+
resource { bucket: "projects/_/buckets/b", name: "o" }
7979
if_metageneration_match: 1
8080
if_metageneration_not_match: 1
8181
}
@@ -124,6 +124,8 @@ TEST(EnsureFirstMessageAppendObjectSpec, WriteHandleIsNotSet) {
124124
EXPECT_FALSE(request.has_append_object_spec());
125125
}
126126

127+
128+
127129
} // namespace
128130
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
129131
} // namespace storage_internal

google/cloud/storage/internal/async/writer_connection_impl.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,8 @@ future<StatusOr<std::int64_t>> AsyncWriterConnectionImpl::OnQuery(
234234
"Expected error in Finish() after non-ok Read()"))
235235
.then([this](auto g) {
236236
auto result = g.get();
237-
google::rpc::Status grpc_status = ExtractGrpcStatus(result);
237+
google::rpc::Status grpc_status =
238+
ExtractGrpcStatus(result);
238239
EnsureFirstMessageAppendObjectSpec(request_, grpc_status);
239240
ApplyWriteRedirectErrors(*request_.mutable_append_object_spec(),
240241
grpc_status);

0 commit comments

Comments
 (0)