Skip to content

Commit 5f2e056

Browse files
authored
fix(bigtable): stop installing DirectpathEnforcer on the directpath pool (#13880)
1 parent a528a6b commit 5f2e056

1 file changed

Lines changed: 10 additions & 7 deletions

File tree

  • java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels

java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/channels/SwitchingChannelPool.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,16 @@ private ChannelPool createChannelPoolForCurrentMode() {
116116
case DIRECT_ACCESS_ONLY:
117117
return newChannelPoolFromProvider(channelProvider);
118118
case DIRECT_ACCESS_WITH_FALLBACK:
119-
ChannelPool primaryChannelPool =
120-
newChannelPoolFromProvider(
121-
channelProvider,
122-
"primary",
123-
new DirectpathEnforcer(
124-
"Non-directpath connections are not allowed in the directpath channel "
125-
+ "pool when a fallback channel pool is available."));
119+
// TODO: temporarily NOT installing the DirectpathEnforcer.
120+
// The enforcer rejects any non-ALTS connection on the directpath pool by throwing out of
121+
// onHeaders; grpc turns that into CANCELLED "Failed to read headers", killing every session
122+
// in state STARTING. On a VM whose directpath structurally negotiates a non-ALTS (CFE/TLS)
123+
// connection, recovery depends entirely on FallbackChannelPool switching to cloudpath, and
124+
// that error-rate switch can fail to fire, wedging the VM indefinitely. Until that switch
125+
// is hardened, drop the enforcer so such a connection is used (grpc's own directpath->CFE
126+
// fallback) instead of hard-failing. Restore the enforcer once FallbackChannelPool is
127+
// fixed.
128+
ChannelPool primaryChannelPool = newChannelPoolFromProvider(channelProvider, "primary");
126129
ChannelPool fallbackChannelPool =
127130
newChannelPoolFromProvider(channelProvider.getFallback().get(), "fallback");
128131
FallbackConfiguration fallbackConfiguration =

0 commit comments

Comments
 (0)