Skip to content

Commit f13dd94

Browse files
renovate[bot]otelbot[bot]laurit
authored
fix(deps): update byte buddy packages to v1.18.9 - abandoned (#18878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
1 parent 48ca9d7 commit f13dd94

10 files changed

Lines changed: 35 additions & 44 deletions

File tree

.github/scripts/check-package-names.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ for dir in $(find instrumentation -name "*.java" | grep library/src/main/java |
3030
if [[ "$dir" == "instrumentation/rxjava/rxjava-1.0/library/src/main/java/rx" ]]; then
3131
continue
3232
fi
33+
if [[ "$dir" == "instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/org/elasticsearch/client" ]]; then
34+
continue
35+
fi
3336

3437
# some common modules don't have any base version (might have a variant instead, ex: javax)
3538
# - jdbc

conventions/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ dependencies {
7171
implementation("ru.vyarus:gradle-animalsniffer-plugin:2.0.1")
7272
implementation("org.spdx:spdx-gradle-plugin:0.11.0")
7373
// When updating, also update dependencyManagement/build.gradle.kts
74-
implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.18.8")
74+
implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.18.9")
7575
implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6")
7676
implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.3")
7777
implementation("net.ltgt.gradle:gradle-errorprone-plugin:5.1.0")

dependencyManagement/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ val DEPENDENCY_BOMS = listOf(
3838
val autoServiceVersion = "1.1.1"
3939
val autoValueVersion = "1.11.1"
4040
val errorProneVersion = "2.49.0"
41-
val byteBuddyVersion = "1.18.8"
41+
val byteBuddyVersion = "1.18.9"
4242
val asmVersion = "9.10.1"
4343
val jmhVersion = "1.37"
4444
val mockitoVersion = "4.11.0"

gradle-plugins/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ configurations.named("compileOnly") {
2525
extendsFrom(bbGradlePlugin)
2626
}
2727

28-
val byteBuddyVersion = "1.18.8"
28+
val byteBuddyVersion = "1.18.9"
2929
val aetherVersion = "1.1.0"
3030

3131
dependencies {

instrumentation/elasticsearch/elasticsearch-rest-7.0/library/src/main/java/io/opentelemetry/instrumentation/elasticsearch/rest/v7_0/RestClientWrapper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import javax.annotation.Nullable;
2222
import net.bytebuddy.ByteBuddy;
2323
import net.bytebuddy.description.modifier.Visibility;
24+
import net.bytebuddy.dynamic.loading.ClassInjector;
2425
import net.bytebuddy.dynamic.loading.ClassLoadingStrategy;
2526
import net.bytebuddy.implementation.InvocationHandlerAdapter;
2627
import org.apache.http.Header;
@@ -29,6 +30,7 @@
2930
import org.elasticsearch.client.Response;
3031
import org.elasticsearch.client.ResponseListener;
3132
import org.elasticsearch.client.RestClient;
33+
import org.elasticsearch.client.RestClientPackageAccess;
3234

3335
class RestClientWrapper {
3436
private static final Class<?> proxyClass = createProxyClass();
@@ -112,7 +114,11 @@ private static Class<?> createProxyClass() {
112114
return method.invoke(target, args);
113115
}))
114116
.make()
115-
.load(RestClient.class.getClassLoader(), ClassLoadingStrategy.Default.INJECTION)
117+
.load(
118+
RestClient.class.getClassLoader(),
119+
ClassInjector.UsingReflection.isAvailable()
120+
? ClassLoadingStrategy.Default.INJECTION
121+
: ClassLoadingStrategy.UsingLookup.of(RestClientPackageAccess.getLookup()))
116122
.getLoaded();
117123
}
118124

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package org.elasticsearch.client;
7+
8+
import java.lang.invoke.MethodHandles;
9+
10+
public final class RestClientPackageAccess {
11+
12+
public static MethodHandles.Lookup getLookup() {
13+
return MethodHandles.lookup();
14+
}
15+
16+
private RestClientPackageAccess() {}
17+
}

javaagent-tooling/src/test/java/io/opentelemetry/javaagent/test/HelperInjectionTest.java

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,18 @@
99
import static io.opentelemetry.instrumentation.test.utils.GcUtils.awaitGc;
1010
import static java.util.Collections.emptyList;
1111
import static java.util.Collections.singletonList;
12-
import static java.util.Collections.singletonMap;
1312
import static org.assertj.core.api.Assertions.assertThat;
1413
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1514

1615
import io.opentelemetry.javaagent.bootstrap.InjectedClassHelper;
1716
import io.opentelemetry.javaagent.tooling.AgentInstaller;
1817
import io.opentelemetry.javaagent.tooling.HelperInjector;
19-
import io.opentelemetry.javaagent.tooling.Utils;
2018
import java.lang.ref.WeakReference;
2119
import java.net.URL;
2220
import java.net.URLClassLoader;
2321
import java.time.Duration;
2422
import java.util.concurrent.atomic.AtomicReference;
2523
import net.bytebuddy.agent.ByteBuddyAgent;
26-
import net.bytebuddy.description.type.TypeDescription;
27-
import net.bytebuddy.dynamic.ClassFileLocator;
28-
import net.bytebuddy.dynamic.loading.ClassInjector;
2924
import org.junit.jupiter.api.Test;
3025

3126
@SuppressWarnings("UnnecessaryAsync")
@@ -121,34 +116,4 @@ void helpersInjectedOnBootstrapClassloader() throws Exception {
121116

122117
assertThat(helperClass.getClassLoader()).isEqualTo(bootstrapClassloader);
123118
}
124-
125-
@Test
126-
void checkHardReferencesOnClassInjection() throws Exception {
127-
String helperClassName = HelperInjectionTest.class.getPackage().getName() + ".HelperClass";
128-
129-
// Copied from HelperInjector:
130-
ClassFileLocator locator = ClassFileLocator.ForClassLoader.of(Utils.getAgentClassLoader());
131-
byte[] classBytes = locator.locate(helperClassName).resolve();
132-
TypeDescription typeDesc = new TypeDescription.Latent(helperClassName, 0, null, emptyList());
133-
134-
AtomicReference<URLClassLoader> emptyLoader =
135-
new AtomicReference<>(new URLClassLoader(new URL[0], null));
136-
AtomicReference<ClassInjector> injector =
137-
new AtomicReference<>(new ClassInjector.UsingReflection(emptyLoader.get()));
138-
injector.get().inject(singletonMap(typeDesc, classBytes));
139-
140-
WeakReference<ClassInjector> injectorRef = new WeakReference<>(injector.get());
141-
injector.set(null);
142-
143-
awaitGc(injectorRef, Duration.ofSeconds(10));
144-
145-
assertThat(injectorRef.get()).isNull();
146-
147-
WeakReference<URLClassLoader> loaderRef = new WeakReference<>(emptyLoader.get());
148-
emptyLoader.set(null);
149-
150-
awaitGc(loaderRef, Duration.ofSeconds(10));
151-
152-
assertThat(loaderRef.get()).isNull();
153-
}
154119
}
File renamed without changes.
File renamed without changes.

licenses/licenses.md

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)