Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-6861

PQS fails to start because of relocated javax.servlet with Phoenix 5.2

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • queryserver-6.0.1
    • queryserver-6.0.1
    • queryserver
    • None
    • Due to an incompatible change in the way phoenix-client is shaded and relocated, when using PQS with Phoenix 5.1.0 - 5.1.3 or 4.16.x, PQS must be built with the "shade-javax-servlet" maven profile enabled.

    Description

      We've made to relatively recent changes to javax.servelt in the shaded PQS client JAR.
      In PHOENIX-6151 we've applied shading to it, then in PHOENIX-6703 we've removed it altogether from the embedded client JAR.

      Also relatively recently, we have added a dependency for org.apache.hadoop.jmx.JMXJsonServlet to PQS.

      As a result, we have mutually incompatible requirements for the PQS classpath.

      For old phoenix-client versions, and for current 5.2 phoenix-client versions with PHOENIX-6703, we need to have unshaded javax.servlet, both for Avatica, and for JMXJsonServlet on the classpath.

      On the other hand, for Phoenix versions that have PHOENIX-6151, but not PHOENIX-6703, we need to shade javax.servlet so that it matches with shading applied for JMXJsonServlet (which is coming via phoenix-client, which shades javax.servlet).

      We need to find some kind of solution to this mess, ideally so that the same PQS binary works with as many Phoenix versions as possible.

      Attachments

        Issue Links

          Activity

            People

              stoty Istvan Toth
              stoty Istvan Toth
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: