Skip to content

Commit 80d32a5

Browse files
committed
Reduce flakiness in io.opentelemetry.javaagent.instrumentation.couchbase.v2_6.CouchbaseAsyncClient26Test.upsertAndGet(BucketSettings)[2]
Automated fix attempt based on Develocity flaky-test analysis.
1 parent d5fa4f5 commit 80d32a5

2 files changed

Lines changed: 33 additions & 4 deletions

File tree

instrumentation/couchbase/couchbase-common/testing/src/main/java/io/opentelemetry/instrumentation/couchbase/AbstractCouchbaseAsyncClientTest.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,10 @@ void hasBucket(BucketSettings bucketSettings)
121121
.hasNoParent()
122122
.hasAttributesSatisfyingExactly(
123123
equalTo(maybeStable(DB_SYSTEM), COUCHBASE),
124-
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket")),
124+
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket"),
125+
satisfies(NETWORK_TYPE, optionalNetworkType()),
126+
satisfies(NETWORK_PEER_ADDRESS, optionalNetworkPeerAddress()),
127+
satisfies(NETWORK_PEER_PORT, optionalNetworkPeerPort())),
125128
span ->
126129
span.hasName("ClusterManager.hasBucket")
127130
.hasKind(SpanKind.CLIENT)
@@ -169,7 +172,10 @@ void upsert(BucketSettings bucketSettings)
169172
.hasParent(trace.getSpan(0))
170173
.hasAttributesSatisfyingExactly(
171174
equalTo(maybeStable(DB_SYSTEM), COUCHBASE),
172-
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket")),
175+
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket"),
176+
satisfies(NETWORK_TYPE, optionalNetworkType()),
177+
satisfies(NETWORK_PEER_ADDRESS, optionalNetworkPeerAddress()),
178+
satisfies(NETWORK_PEER_PORT, optionalNetworkPeerPort())),
173179
span ->
174180
span.hasName("Bucket.upsert")
175181
.hasKind(SpanKind.CLIENT)
@@ -227,7 +233,10 @@ void upsertAndGet(BucketSettings bucketSettings)
227233
.hasParent(trace.getSpan(0))
228234
.hasAttributesSatisfyingExactly(
229235
equalTo(maybeStable(DB_SYSTEM), COUCHBASE),
230-
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket")),
236+
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket"),
237+
satisfies(NETWORK_TYPE, optionalNetworkType()),
238+
satisfies(NETWORK_PEER_ADDRESS, optionalNetworkPeerAddress()),
239+
satisfies(NETWORK_PEER_PORT, optionalNetworkPeerPort())),
231240
span ->
232241
span.hasName("Bucket.upsert")
233242
.hasKind(SpanKind.CLIENT)
@@ -294,7 +303,10 @@ void query() throws ExecutionException, InterruptedException, TimeoutException {
294303
.hasParent(trace.getSpan(0))
295304
.hasAttributesSatisfyingExactly(
296305
equalTo(maybeStable(DB_SYSTEM), COUCHBASE),
297-
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket")),
306+
equalTo(maybeStable(DB_OPERATION), "Cluster.openBucket"),
307+
satisfies(NETWORK_TYPE, optionalNetworkType()),
308+
satisfies(NETWORK_PEER_ADDRESS, optionalNetworkPeerAddress()),
309+
satisfies(NETWORK_PEER_PORT, optionalNetworkPeerPort())),
298310
span ->
299311
span.hasName(
300312
emitStableDatabaseSemconv()

instrumentation/couchbase/couchbase-common/testing/src/main/java/io/opentelemetry/instrumentation/couchbase/AbstractCouchbaseTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package io.opentelemetry.instrumentation.couchbase;
77

88
import static io.opentelemetry.instrumentation.api.internal.SemconvStability.emitOldDatabaseSemconv;
9+
import static org.assertj.core.api.Assertions.assertThat;
910

1011
import com.couchbase.client.java.bucket.BucketType;
1112
import com.couchbase.client.java.cluster.BucketSettings;
@@ -129,4 +130,20 @@ protected LongAssertConsumer networkPeerPort() {
129130
protected StringAssertConsumer experimentalAttribute() {
130131
return includesExperimentalAttributes() ? val -> val.isNotNull() : val -> val.isNull();
131132
}
133+
134+
protected StringAssertConsumer optionalNetworkType() {
135+
return val -> val.isIn(networkType(), null);
136+
}
137+
138+
protected StringAssertConsumer optionalNetworkPeerAddress() {
139+
return val -> val.isIn(networkPeerAddress(), null);
140+
}
141+
142+
protected LongAssertConsumer optionalNetworkPeerPort() {
143+
return includesNetworkAttributes()
144+
? val ->
145+
val.satisfiesAnyOf(
146+
v -> assertThat(v).isNull(), v -> assertThat(v).isGreaterThan(0L))
147+
: val -> val.isNull();
148+
}
132149
}

0 commit comments

Comments
 (0)