Skip to content

Commit e0d11ad

Browse files
committed
final updates
1 parent 7ee1712 commit e0d11ad

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ 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 (!carrier.containsKey(metadataKey)) {
16-
carrier.put(metadataKey, value);
15+
if (carrier.containsKey(metadataKey)) {
16+
carrier.removeAll(
17+
metadataKey); // Remove existing to ensure identical behavior with other carriers
1718
}
19+
carrier.put(metadataKey, value);
1820
}
1921
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import io.grpc.Metadata
33
import static datadog.trace.instrumentation.grpc.client.GrpcInjectAdapter.SETTER
44

55
class GrpcInjectAdapterTest extends VersionedNamingTestBase {
6-
def "carrier set is called only once per unique ot-baggage-* key"() {
6+
def "carrier overrides values for duplicate keys"() {
77
setup:
88
def carrier = new Metadata()
99

@@ -21,7 +21,7 @@ class GrpcInjectAdapterTest extends VersionedNamingTestBase {
2121

2222
then:
2323
carrier.headerCount() == 2
24-
carrier.get(getKey("ot-baggage-foo")) == "v1" // first value wins
24+
carrier.get(getKey("ot-baggage-foo")) == "v2" // overridden value wins
2525
carrier.get(getKey("ot-baggage-bar")) == "v3"
2626
}
2727

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ 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 (!carrier.containsKey(metadataKey)) {
15-
carrier.put(metadataKey, value);
14+
if (carrier.containsKey(metadataKey)) {
15+
carrier.removeAll(
16+
metadataKey); // Remove existing to ensure identical behavior with other carriers
1617
}
18+
carrier.put(metadataKey, value);
1719
}
1820
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import io.grpc.Metadata
33
import static datadog.trace.instrumentation.grpc.client.GrpcInjectAdapter.SETTER
44

55
class GrpcInjectAdapterTest extends VersionedNamingTestBase {
6-
def "carrier set is called only once per unique ot-baggage-* key"() {
6+
def "carrier overrides values for duplicate keys"() {
77
setup:
88
def carrier = new Metadata()
99

@@ -21,7 +21,7 @@ class GrpcInjectAdapterTest extends VersionedNamingTestBase {
2121

2222
then:
2323
carrier.headerCount() == 2
24-
carrier.get(getKey("ot-baggage-foo")) == "v1" // first value wins
24+
carrier.get(getKey("ot-baggage-foo")) == "v2" // overridden value wins
2525
carrier.get(getKey("ot-baggage-bar")) == "v3"
2626
}
2727

0 commit comments

Comments
 (0)