Skip to content

Commit 7ee1712

Browse files
committed
update GRPC inject to not allow all repeated keys
1 parent 348a483 commit 7ee1712

File tree

4 files changed

+2
-38
lines changed

4 files changed

+2
-38
lines changed

dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/main/java/datadog/trace/instrumentation/armeria/grpc/client/GrpcInjectAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public final class GrpcInjectAdapter implements CarrierSetter<Metadata> {
1212
@Override
1313
public void set(final Metadata carrier, final String key, final String value) {
1414
Metadata.Key<String> metadataKey = Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER);
15-
if (!key.startsWith("ot-baggage-") || !carrier.containsKey(metadataKey)) {
15+
if (!carrier.containsKey(metadataKey)) {
1616
carrier.put(metadataKey, value);
1717
}
1818
}

dd-java-agent/instrumentation/armeria/armeria-grpc-0.84/src/test/groovy/GrpcInjectAdapterTest.groovy

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,6 @@ class GrpcInjectAdapterTest extends VersionedNamingTestBase {
2525
carrier.get(getKey("ot-baggage-bar")) == "v3"
2626
}
2727

28-
def "carrier set is can set repeated keys that are not ot-baggage-*"() {
29-
setup:
30-
def carrier = new Metadata()
31-
32-
def baggage = [["foo", "v1"], ["foo", "v2"], ["bar", "v3"]]
33-
34-
when:
35-
baggage.each { pair ->
36-
def (key, value) = pair
37-
SETTER.set(carrier, key, value)
38-
}
39-
40-
then:
41-
carrier.headerCount() == 3
42-
carrier.get(getKey("foo")) == "v2" // last value wins
43-
carrier.get(getKey("bar")) == "v3"
44-
}
45-
4628
Metadata.Key<String> getKey(String key){
4729
Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER)
4830
}

dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/client/GrpcInjectAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public final class GrpcInjectAdapter implements CarrierSetter<Metadata> {
1111
@Override
1212
public void set(final Metadata carrier, final String key, final String value) {
1313
Metadata.Key<String> metadataKey = Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER);
14-
if (!key.startsWith("ot-baggage-") || !carrier.containsKey(metadataKey)) {
14+
if (!carrier.containsKey(metadataKey)) {
1515
carrier.put(metadataKey, value);
1616
}
1717
}

dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcInjectAdapterTest.groovy

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,6 @@ class GrpcInjectAdapterTest extends VersionedNamingTestBase {
2525
carrier.get(getKey("ot-baggage-bar")) == "v3"
2626
}
2727

28-
def "carrier set is can set repeated keys that are not ot-baggage-*"() {
29-
setup:
30-
def carrier = new Metadata()
31-
32-
def baggage = [["foo", "v1"], ["foo", "v2"], ["bar", "v3"]]
33-
34-
when:
35-
baggage.each { pair ->
36-
def (key, value) = pair
37-
SETTER.set(carrier, key, value)
38-
}
39-
40-
then:
41-
carrier.headerCount() == 3
42-
carrier.get(getKey("foo")) == "v2" // last value wins
43-
carrier.get(getKey("bar")) == "v3"
44-
}
45-
4628
Metadata.Key<String> getKey(String key){
4729
Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER)
4830
}

0 commit comments

Comments
 (0)