[NETCONF-59] Restconf returns 503 if TokenAuthFilter fails to load before import Created: 10/Aug/15  Updated: 15/Mar/19  Resolved: 15/Dec/15

Status: Resolved
Project: netconf
Component/s: netconf
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Ryan Goulding Assignee: Ryan Goulding
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Duplicate
duplicates AAA-66 Restconf calls return with 503 Servic... Resolved
External issue ID: 4115

 Description   

org.opendaylight.aaa.sts.TokenAuthFilter is utilized as a restconf
JAX-RS filter. If TokenAuthFilter class is not loaded prior to
starting the sal_rest_connector, there is a chance that the Class
is not found, resulting in a loading race condition. This patch
includes code to specifically import the AAA sts package prior to
creating the sal_rest_connector service.

Application class org.opendaylight.controller.sal.rest.doc.jaxrs.ApiDocApplication
2015-07-31 10:08:36,865 | ERROR | qtp1546527460-62 | ContainerResponse | 235 - com.sun.jersey.jersey-server - 1.17.0 | Mapped exception to response: 503 (Service Unavailable)
javax.ws.rs.WebApplicationException
at org.opendaylight.aaa.sts.TokenAuthFilter.<clinit>(TokenAuthFilter.java:40)
at java.lang.Class.forName0(Native Method)[:1.7.0_85]
at java.lang.Class.forName(Class.java:195)[:1.7.0_85]
at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:242)[234:com.sun.jersey.core:1.17.0]
at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:222)[234:com.sun.jersey.core:1.17.0]
at com.sun.jersey.core.spi.component.ProviderServices.getInstances(ProviderServices.java:216)[234:com.sun.jersey.core:1.17.0]
at com.sun.jersey.server.impl.container.filter.FilterFactory.getFilters(FilterFactory.java:146)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.container.filter.FilterFactory.init(FilterFactory.java:75)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1283)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)[234:com.sun.jersey.core:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)[235:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)[233:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)[233:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)[233:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)[233:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)[233:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)[233:com.sun.jersey.servlet:1.17.0]
at javax.servlet.GenericServlet.init(GenericServlet.java:161)[201:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:532)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:344)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doStart(HttpServiceContext.java:222)[216:org.ops4j.pax.web.pax-web-jetty:3.1.4]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)[207:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:202)[216:org.ops4j.pax.web.pax-web-jetty:3.1.4]
at org.ops4j.pax.web.service.internal.HttpServiceStarted.end(HttpServiceStarted.java:1032)[215:org.ops4j.pax.web.pax-web-runtime:3.1.4]
at org.ops4j.pax.web.service.internal.HttpServiceProxy.end(HttpServiceProxy.java:422)[215:org.ops4j.pax.web.pax-web-runtime:3.1.4]
at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.end(RegisterWebAppVisitorWC.java:341)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:678)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.register(WebAppPublisher.java:237)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:182)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:135)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf-org.osgi.core.jar:]
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf-org.osgi.core.jar:]
at org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:101)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.WebObserver.deploy(WebObserver.java:213)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.WebObserver$1.doStart(WebObserver.java:175)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.extender.SimpleExtension.start(SimpleExtension.java:58)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender$1.run(AbstractExtender.java:266)[221:org.ops4j.pax.web.pax-web-extender-war:3.1.4]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_85]
at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_85]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_85]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_85]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_85]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_85]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_85]



 Comments   
Comment by Ryan Goulding [ 10/Aug/15 ]

https://git.opendaylight.org/gerrit/#/c/25131/

Comment by Robert Varga [ 13/Nov/15 ]

Move to NETCONF project

Generated at Wed Feb 07 20:14:04 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.