You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2021/12/08 08:09:00 UTC
[jira] [Commented] (PHOENIX-6605) Cancel the shade relocation on javax.servlet
[ https://issues.apache.org/jira/browse/PHOENIX-6605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17455026#comment-17455026 ]
Istvan Toth commented on PHOENIX-6605:
--------------------------------------
Generally, PQS is a standalone application, so relocating stuff is done to avoid conflicts with the phoenix-client JAR.
In the latest Phoenix releases, we DO shade javax.servlet in phoenix-client, so what you propose would probably fix the tests, and not break Phoenix.
However, PQS is also supposed to work with older phoenix client versions, where javax.servlet may not be shaded.
I am not sure if this is the right way to fix the tests (but I don't have a better a solution either ATM)
> Cancel the shade relocation on javax.servlet
> --------------------------------------------
>
> Key: PHOENIX-6605
> URL: https://issues.apache.org/jira/browse/PHOENIX-6605
> Project: Phoenix
> Issue Type: Bug
> Components: queryserver
> Environment: # Hadoop 3.2.2
> # HBase 2.4.2
> # Phoenix 5.1.2
> Reporter: Cong Luo
> Priority: Minor
>
> In 6.0.0, PQS already do a shade with relocation on the `javax.servlet` package, but use the test framework (extend the org.apache.phoenix.query.BaseTest) got :
> {code:java}
> java.lang.NoSuchMethodError: org.eclipse.jetty.servlet.ServletHolder.<init>(Lorg/apache/phoenix/shaded/javax/servlet/Servlet;)V
> at org.apache.phoenix.queryserver.server.customizers.JMXJsonEndpointServerCustomizer.customize(JMXJsonEndpointServerCustomizer.java:53)
> at org.apache.phoenix.queryserver.server.customizers.JMXJsonEndpointServerCustomizer.customize(JMXJsonEndpointServerCustomizer.java:36)
> at org.apache.calcite.avatica.server.HttpServer.internalStart(HttpServer.java:232)
> at org.apache.calcite.avatica.server.HttpServer.start(HttpServer.java:203)
> at org.apache.phoenix.queryserver.server.QueryServer.run(QueryServer.java:265)
> at org.apache.phoenix.queryserver.server.QueryServer.run(QueryServer.java:469)
> at java.lang.Thread.run(Thread.java:748) {code}
> It is recommended to cancel the relocation to allow the parent project to overwrite the version of `javax.servlet`.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)