Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-19349

Introduce wrong version depencency of servlet-api jar

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.0.0-beta-1
    • 2.0.0-beta-1, 2.0.0
    • None
    • None
    • Reviewed

    Description

      Build a tarball.

      mvn -DskipTests clean install && mvn -DskipTests package assembly:single
      tar zxvf hbase-2.0.0-beta-1-SNAPSHOT-bin.tar.gz
      

      Then I found there is a servlet-api-2.5.jar in the lib directory. The right depencency should be javax.servlet-api-3.1.0.jar.

      Start a distributed cluster with this tarball. And got exception when access Master/RS info jsp.

      2017-11-27,10:02:05,066 WARN org.eclipse.jetty.server.HttpChannel: /
      java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncSupported()Z
              at org.eclipse.jetty.server.ResourceService.sendData(ResourceService.java:689)
              at org.eclipse.jetty.server.ResourceService.doGet(ResourceService.java:294)
              at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:458)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
              at org.apache.hadoop.hbase.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:113)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.apache.hadoop.hbase.http.ClickjackingPreventionFilter.doFilter(ClickjackingPreventionFilter.java:48)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.apache.hadoop.hbase.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:1374)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.apache.hadoop.hbase.http.NoCacheFilter.doFilter(NoCacheFilter.java:49)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.apache.hadoop.hbase.http.NoCacheFilter.doFilter(NoCacheFilter.java:49)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
      

      Try mvn depencency:tree but didn't find why servlet-api-2.5.jar was introduced.

      I download hbase-2.0.0-alpha4-bin.tar.gz and didn't find servlet-api-2.5.jar. And build a tar from hbase-2.0.0-alpha4-src.tar.gz and didn't find servlet-api-2.5.jar, too. So this may be introduced by recently commits. And should fix this when release 2.0.0-beta1.

      Attachments

        1. 0002-HBASE-19349-Introduce-wrong-version-depencency-of-se.patch
          8 kB
          Michael Stack
        2. 19349.txt
          19 kB
          Michael Stack

        Activity

          People

            zghao Guanghao Zhang
            zghao Guanghao Zhang
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: