Skip to content

Commit 3185a3e

Browse files
fix: Set x-goog-request-params for streaming pull request
1 parent 13cbbf9 commit 3185a3e

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/StreamingSubscriberConnection.java

+10-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import com.google.api.gax.rpc.StreamController;
3737
import com.google.cloud.pubsub.v1.MessageDispatcher.AckProcessor;
3838
import com.google.cloud.pubsub.v1.stub.SubscriberStub;
39+
import com.google.common.collect.ImmutableList;
40+
import com.google.common.collect.ImmutableMap;
3941
import com.google.common.collect.Lists;
4042
import com.google.common.util.concurrent.MoreExecutors;
4143
import com.google.protobuf.Any;
@@ -86,6 +88,8 @@ final class StreamingSubscriberConnection extends AbstractApiService implements
8688

8789
private Duration inititalStreamAckDeadline;
8890

91+
private final Map<String, List<String>> streamMetadata;
92+
8993
private final SubscriberStub subscriberStub;
9094
private final int channelAffinity;
9195
private final String subscription;
@@ -134,6 +138,9 @@ private StreamingSubscriberConnection(Builder builder) {
134138
inititalStreamAckDeadline = builder.maxDurationPerAckExtension;
135139
}
136140

141+
streamMetadata =
142+
ImmutableMap.of("x-goog-request-params", ImmutableList.of("subscription=" + subscription));
143+
137144
subscriberStub = builder.subscriberStub;
138145
channelAffinity = builder.channelAffinity;
139146

@@ -273,7 +280,9 @@ private void initialize() {
273280
.streamingPullCallable()
274281
.splitCall(
275282
responseObserver,
276-
GrpcCallContext.createDefault().withChannelAffinity(channelAffinity));
283+
GrpcCallContext.createDefault()
284+
.withChannelAffinity(channelAffinity)
285+
.withExtraHeaders(streamMetadata));
277286

278287
logger.log(Level.FINER, "Initializing stream to subscription {0}", subscription);
279288
// We need to set streaming ack deadline, but it's not useful since we'll modack to send receipt

0 commit comments

Comments
 (0)