Skip to content

Commit 5bd986a

Browse files
committed
adjust test and revert to original fix
1 parent 49bd49e commit 5bd986a

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

google/cloud/spanner/internal/connection_impl.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -581,8 +581,7 @@ StatusOr<google::spanner::v1::Transaction> ConnectionImpl::BeginTransaction(
581581
auto stub = GetStubBasedOnSessionMode(*session, ctx);
582582
auto const& current = internal::CurrentOptions();
583583

584-
if (current.has<spanner::ExcludeTransactionFromChangeStreamsOption>() &&
585-
current.get<spanner::ExcludeTransactionFromChangeStreamsOption>()) {
584+
if (current.get<spanner::ExcludeTransactionFromChangeStreamsOption>()) {
586585
begin.mutable_options()->set_exclude_txn_from_change_streams(true);
587586
}
588587

google/cloud/spanner/internal/connection_impl_test.cc

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3253,27 +3253,23 @@ TEST(ConnectionImplTest, CommitSuccessExcludeFromChangeStreamsExplicitTxn) {
32533253
.WillOnce(Return(MakeCommitResponse(
32543254
spanner::MakeTimestamp(std::chrono::system_clock::from_time_t(123))
32553255
.value())));
3256-
EXPECT_CALL(*mock,
3257-
AsyncDeleteSession(_, _, _, HasSessionName("test-session-name")))
3258-
.WillOnce(Return(make_ready_future(Status{})));
32593256

3257+
// Transaction is created before the usual Connection and Client creation.
3258+
// This is the crux of reproducing this issue.
3259+
auto txn = spanner::Transaction(spanner::Transaction::ReadWriteOptions{});
3260+
3261+
// Connection and OptionsSpan creation mimics what occurs prior to calling
3262+
// ConnectionImpl::Commit in Client::Commit(Transaction, Mutations, Options).
32603263
auto conn = MakeConnectionImpl(db, mock);
32613264
internal::OptionsSpan span(
32623265
MakeLimitedTimeOptions()
32633266
.set<spanner::ExcludeTransactionFromChangeStreamsOption>(true));
3264-
3265-
// Introduce additional scope here to ensure that when txn is destroyed
3266-
// the session_pool contained by the Connection is still present, such that,
3267-
// the session associated with the transaction can be returned to the pool.
3268-
{
3269-
auto txn = spanner::Transaction(spanner::Transaction::ReadWriteOptions{});
3270-
auto commit = conn->Commit({txn, {}});
3271-
EXPECT_THAT(
3272-
commit,
3273-
IsOkAndHolds(Field(
3274-
&spanner::CommitResult::commit_timestamp,
3275-
Eq(spanner::MakeTimestamp(absl::FromUnixSeconds(123)).value()))));
3276-
}
3267+
auto commit = conn->Commit({txn, {}});
3268+
EXPECT_THAT(
3269+
commit,
3270+
IsOkAndHolds(Field(
3271+
&spanner::CommitResult::commit_timestamp,
3272+
Eq(spanner::MakeTimestamp(absl::FromUnixSeconds(123)).value()))));
32773273
}
32783274

32793275
TEST(ConnectionImplTest, CommitSuccessWithMaxCommitDelay) {

0 commit comments

Comments
 (0)