diff --git a/google/cloud/spanner/internal/defaults.cc b/google/cloud/spanner/internal/defaults.cc index 9f0ba1c1f7c8..1b03507546c1 100644 --- a/google/cloud/spanner/internal/defaults.cc +++ b/google/cloud/spanner/internal/defaults.cc @@ -104,22 +104,17 @@ Options DefaultOptions(Options opts) { min_sessions = (std::min)(min_sessions, max_sessions_per_channel * num_channels); - // TODO(#11111): Restore on-by-default behavior. if (!opts.has()) { - opts.set(false); // off by default - } - // ${GOOGLE_CLOUD_CPP_SPANNER_ROUTE_TO_LEADER} overrides option setting. - if (auto e = internal::GetEnv("GOOGLE_CLOUD_CPP_SPANNER_ROUTE_TO_LEADER")) { - for (auto const* disable : {"N", "n", "F", "f", "0", "off"}) { - if (*e == disable) { - // Never route to leader. - opts.set(false); - } - } - for (auto const* enable : {"Y", "y", "T", "t", "1", "on"}) { - if (*e == enable) { - // Route to leader for RW/PartitionedDml transactions. - opts.unset(); + // The option defaults to on (unset), but the default can be changed with a + // suitably-negative value in `${GOOGLE_CLOUD_CPP_SPANNER_ROUTE_TO_LEADER}`. + if (auto e = internal::GetEnv("GOOGLE_CLOUD_CPP_SPANNER_ROUTE_TO_LEADER")) { + for (auto const* disable : {"N", "n", "F", "f", "0", "off"}) { + if (*e == disable) { + // Change the default from "for RW/PartitionedDml transactions" + // to "never". + opts.set(false); + break; + } } } } diff --git a/google/cloud/spanner/internal/defaults_test.cc b/google/cloud/spanner/internal/defaults_test.cc index 0fc5cbd13874..a41b81b0754b 100644 --- a/google/cloud/spanner/internal/defaults_test.cc +++ b/google/cloud/spanner/internal/defaults_test.cc @@ -85,9 +85,7 @@ TEST(Options, Defaults) { EXPECT_TRUE(opts.has()); EXPECT_TRUE(opts.has()); - // TODO(#11111): Restore on-by-default behavior. - ASSERT_TRUE(opts.has()); - EXPECT_FALSE(opts.get()); + EXPECT_FALSE(opts.has()); } TEST(Options, AdminDefaults) {