Uploaded image for project: 'CDH (READ-ONLY)'
  1. CDH (READ-ONLY)
  2. DISTRO-274

Backport HBASE-4105 (Stargate does not support Content-Type: application/json and Content-Encoding: gzip in parallel)

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: CDH3u0
    • Fix Version/s: CDH3u2
    • Component/s: HBase
    • Labels:
      None
    • Environment:

      Description

      When:
      curl -H "Accept: application/json" http://localhost:3000/version -v

      Response is:

      • About to connect() to localhost port 3000 (#0)
      • Trying 127.0.0.1... connected
      • Connected to localhost (127.0.0.1) port 3000 (#0)
        > GET /version HTTP/1.1
        > User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
        > Host: localhost:3000
        > Accept: application/json
        >
        < HTTP/1.1 200 OK
        < Cache-Control: no-cache
        < Content-Type: application/json
        < Transfer-Encoding: chunked
        <
      • Connection #0 to host localhost left intact
      • Closing connection #0 {"Server":"jetty/6.1.26","REST":"0.0.2","OS":"Linux 2.6.32-bpo.5-amd64 amd64","Jersey":"1.4","JVM":"Sun Microsystems Inc. 1.6.0_22-17.1-b03"}

      but with compression:
      curl -H "Accept: application/json" http://localhost:3000/version -v --compressed

      Reponse is:

      • About to connect() to localhost port 3000 (#0)
      • Trying 127.0.0.1 ... connected
      • Connected to localhost (127.0.0.1) port 3000 (#0)
        > GET /version HTTP/1.1
        > User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3
        > Host: localhost:3000
        > Accept-Encoding: deflate, gzip
        > Accept: application/json
        >
        < HTTP/1.1 200 OK
        < Cache-Control: no-cache
        < Content-Type: application/json
        < Content-Encoding: gzip
        < Transfer-Encoding: chunked
        <
      • Connection #0 to host localhost left intact
      • Closing connection #0

      and the stargate server throws the following exception:

      11/07/14 11:21:44 ERROR mortbay.log: /version
      java.lang.ClassCastException: org.mortbay.jetty.HttpConnection$Output cannot be cast to org.apache.hadoop.hbase.rest.filter.GZIPResponseStream
      at org.apache.hadoop.hbase.rest.filter.GzipFilter.doFilter(GzipFilter.java:54)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      at org.mortbay.jetty.Server.handle(Server.java:326)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
      at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

      This is not reproduceable with content type text/plain and gzip.

      This is somehow related to https://issues.apache.org/jira/browse/HBASE-3275

        Attachments

          Activity

            People

            • Assignee:
              todd Todd Lipcon
              Reporter:
              jpkoenig Jean-Pierre König
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: