Skip to content

Commit dac01ee

Browse files
committed
log
1 parent a12ac5e commit dac01ee

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/MetadataExtractorInterceptor.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,15 @@
3535
import io.grpc.alts.AltsContextUtil;
3636
import java.time.Duration;
3737
import java.util.Base64;
38+
import java.util.logging.Logger;
3839
import java.util.regex.Matcher;
3940
import java.util.regex.Pattern;
4041
import javax.annotation.Nullable;
4142

4243
@InternalApi
4344
public class MetadataExtractorInterceptor implements ClientInterceptor {
45+
static final Logger LOG = Logger.getLogger(MetadataExtractorInterceptor.class.getName());
46+
4447
private final SidebandData sidebandData = new SidebandData();
4548

4649
public GrpcCallContext injectInto(GrpcCallContext ctx) {
@@ -128,9 +131,14 @@ private void reset() {
128131
}
129132

130133
void onResponseHeaders(Metadata md, Attributes attributes) {
134+
LOG.info("Raw Response Metadata: " + md);
135+
peerInfo = extractPeerInfo(md, gfeTiming, attributes);
136+
// 3. Log the final resolved PeerInfo
131137
responseParams = extractResponseParams(md);
132138
gfeTiming = extractGfeLatency(md);
139+
LOG.info("Extracted GFE Timing (server-timing): " + gfeTiming);
133140
peerInfo = extractPeerInfo(md, gfeTiming, attributes);
141+
LOG.info("Final Resolved PeerInfo: " + peerInfo);
134142
}
135143

136144
void onClose(Status status, Metadata trailers) {
@@ -157,22 +165,28 @@ private static Duration extractGfeLatency(Metadata metadata) {
157165
private static PeerInfo extractPeerInfo(
158166
Metadata metadata, Duration gfeTiming, Attributes attributes) {
159167
String encodedStr = metadata.get(PEER_INFO_KEY);
168+
LOG.info("Raw bigtable-peer-info header value: " + encodedStr);
160169
if (Strings.isNullOrEmpty(encodedStr)) {
170+
LOG.info("bigtable-peer-info header was missing or empty. Returning null.");
161171
return null;
162172
}
163173

164174
try {
165175
byte[] decoded = Base64.getUrlDecoder().decode(encodedStr);
166176
PeerInfo peerInfo = PeerInfo.parseFrom(decoded);
167177
PeerInfo.TransportType effectiveTransport = peerInfo.getTransportType();
178+
LOG.info("Parsed TransportType straight from protobuf: " + effectiveTransport);
168179

169180
// TODO: remove this once transport_type is being sent by the server
170181
// This is a temporary workaround to detect directpath until its available from the server
171182
if (effectiveTransport == PeerInfo.TransportType.TRANSPORT_TYPE_UNKNOWN) {
183+
LOG.info("TransportType was UNKNOWN. Fallback checking ALTS context: isAlts=" + isAlts);
172184
boolean isAlts = AltsContextUtil.check(attributes);
173185
if (isAlts) {
186+
LOG.info("Fallback applied: Set to DIRECT_ACCESS based on ALTS.");
174187
effectiveTransport = PeerInfo.TransportType.TRANSPORT_TYPE_DIRECT_ACCESS;
175188
} else if (gfeTiming != null) {
189+
LOG.info("Fallback applied: Set to CLOUD_PATH based on presence of gfeTiming.");
176190
effectiveTransport = PeerInfo.TransportType.TRANSPORT_TYPE_CLOUD_PATH;
177191
}
178192
}

0 commit comments

Comments
 (0)