Details
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
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