Add Oracle WebLogic 14.1.2 support
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Comienza con la matriz de tecnologías compatibles y el fallo de HTTP de WebLogic descrito en el issue, comparando la cobertura de integración existente de 12.2 con WebLogic 14.1.2. Reproduce el problema con WebLogic 14.1.2.0.0, Oracle JDK 21, agent 1.56.0 y HTTP sin más; se considera completado cuando el agente llega a APM Server sin el fallo „null socket-factory failure“ y la versión está cubierta por pruebas de integración.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem?
The supported technologies matrix lists Oracle WebLogic 12.2 as the only version covered by the integration test suite. On WebLogic 14.1.2.0.0 the agent cannot reach APM Server at all. Reverting back to 12c fixes the issue.
The agent starts and the tracer reaches RUNNING, then every outbound HTTP call fails because WebLogic's own HTTP client returns a null socket factory:
WARN co.elastic.apm.agent.report.ApmServerHealthChecker - Elastic APM server http://<apm-server>:8200/ is not available (Cannot invoke "javax.net.SocketFactory.createSocket()" because the return value of "weblogic.net.http.HttpClient.getSocketFactory()" is null)
java.lang.NullPointerException: Cannot invoke "javax.net.SocketFactory.createSocket()" because the return value of "weblogic.net.http.HttpClient.getSocketFactory()" is null
at weblogic.net.http.HttpClient.openServer(HttpClient.java:403) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.HttpClient.New(HttpClient.java:329) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:368) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:770) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:42) ~[com.oracle.weblogic.net.jar:14.1.2.0]
at co.elastic.apm.agent.report.HttpUtils.consumeAndClose(HttpUtils.java:62) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
at co.elastic.apm.agent.report.ApmServerClient.executeForAllUrls(ApmServerClient.java:306) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
at co.elastic.apm.agent.report.ApmServerHealthChecker.call(ApmServerHealthChecker.java:67) ~[elastic-apm-agent-1.56.0.jar:1.56.0]
Two things distinguish this from prior reports:
- It occurs on plain HTTP, not HTTPS.
- It is a different failure from #2409, which was an HTTPS
ClassNotFoundExceptionforweblogic.security.SSL.jsseadapter.JaSSLContextImpl. That was fixed by #3870, and 1.56.0 includes the fix, so the socket factory returningnullis not covered by it.
Remaining on 12.2 is not always an available option.
Describe the solution you'd like
Add Oracle WebLogic 14.1.2 to the tested matrix, so the agent connects to APM Server on that version without workarounds.
Describe alternatives you've considered
-DUseSunHttpHandler=truemakes WebLogic defer to the JDK's Sun HTTP handler instead of its own, bypassing the failing class. Reported in earlier WebLogic cases as a global flag that also alters WebLogic's own HTTP behaviour, so a trade-off rather than a clean workaround. Untested against this failure.elastic.apm.delay_agent_premain_mswas tried during the earlier WebLogic investigation and did not reliably help there.- HTTPS rather than HTTP. A distinct WebLogic code path, and the one agent-side defect known to affect it (#2409) is fixed in 1.56.0. Untested here, and gated on the deployment having TLS available.
Additional context
Environment where this was reproduced:
| WebLogic | 14.1.2.0.0, production mode, managed server started via NodeManager |
| JDK | Oracle JDK 21 |
| Agent | 1.56.0 |
| APM Server | self-managed, plain HTTP |
| OS | Linux (RHEL 8) |
- Lenguaje dominante
- Java
- Estrellas
- 593
- Forks
- 338
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de elastic/apm-agent-java
-
agent-java
Dificultad 2/5 1-2 días Aptitud para principiantes 62/100
elastic/apm-agent-java#2844 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Improve docs and add error log related to illegal activation of transactionPosiblemente ocupada @AzazelSensei la tomó hace 36 días. Abiertodocs good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
elastic/apm-agent-java#850 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Custom HttpURLConnection throwing unchecked exception can stall the agentPosiblemente ocupada @jackshirazi la tomó hace 7 días. Abiertoagent-java bug
elastic/apm-agent-java#4590 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
agent-java community triage
elastic/apm-agent-java#4573 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
UnsupportedOperationException at startup when using JDK 26+Posiblemente ocupada @mvanhorn la tomó hace 34 días. Abiertoagent-java bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
elastic/apm-agent-java#4519 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de elastic/apm-agent-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/rocketmq-dashboard#6716 ·
Los mantenedores suelen responder en 3 días
-
DefaultRedisList.get(int) does not reject an index equal to the list sizePosiblemente ocupada @ryujungkyun la tomó hoy. Abiertostatus: waiting-for-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
spring-projects/spring-data-redis#3471 ·
Los mantenedores suelen responder en 5 días
-
:maddi-inspection-kotlin:test runs out of heap in a full maddi test run; exit 1 with no failing testAbiertobuild/ci front-end:kotlin
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
uwolfer/gerrit-intellij-plugin#768 ·
Los mantenedores suelen responder en 1 día