hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-18636) Cannot run REST server out of a built checkout; fails with NoSuchMethodError: javax.ws.rs.core.Application.getProperties
Date Sat, 19 Aug 2017 20:37:02 GMT
stack created HBASE-18636:
-----------------------------

             Summary: Cannot run REST server out of a built checkout; fails with NoSuchMethodError:
javax.ws.rs.core.Application.getProperties
                 Key: HBASE-18636
                 URL: https://issues.apache.org/jira/browse/HBASE-18636
             Project: HBase
          Issue Type: Sub-task
          Components: REST
            Reporter: stack
            Priority: Minor


I think this a symptom of our move to jersey2 but haven't done the work to verify. Besides,
it is a minor inconvenience as we make the migration from jersey1 to jersey2 but here I make
note  of it.

While the REST unit tests pass and if you run hbase and then the rest server out of a built
tarball, this works too, what does not work is running a REST server in-situ out of a built
checkout; i.e. checkout, mvn install, and then do start-hbase.sh followed by hbase-daemon.sh
rest start. HBase starts but the rest server does not. In its .out you will find the below
exception which occurs because we have jersey1 and jersey2 on our CLASSPATH and REST on startup
is finding jersey1 first in which the cited method does not exist.

See the parent issue for struggles trying to take hbase pure jersey2. It involves lots of
filtering out of transitive includes that are coming in from hadoop. It also means we undo
our use of the Jackson1Feature trick since it depends on jersey1. While we get to a place
where we can launch REST in-situ out of the build dir, we break the world of unit tests that
want to run yarn et al.

Filing this for now. It is low-priority I think and hopefully the learnings from the parent
issue help move us to jersey2 and then this issue will evaporate.

{code}
Exception in thread "main" java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
  at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:331)
  at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
  at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
  at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
  at javax.servlet.GenericServlet.init(GenericServlet.java:244)
  at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640)
  at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419)
  at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875)
  at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:348)
  at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
  at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
  at org.eclipse.jetty.server.Server.start(Server.java:405)
  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)
  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
  at org.eclipse.jetty.server.Server.doStart(Server.java:372)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
  at org.apache.hadoop.hbase.rest.RESTServer.main(RESTServer.java:356)
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message