|
|
|
[
Permlink
| « Hide
]
Robin Shen [04/Sep/18 10:40 PM]
Closing it, just open the new issue if the problem persists.
That script narrowed the issue down to an agent that didn't have the plugin--copying it there and restarting the agent cleared up the issue. Thanks!
We are having an issue with a separate plugin now, but I will open a new ticket for that if we can't resolve it (looks like a different problem). Before sending db, please create a test configuration and run below script:
groovy: import com.pmease.quickbuild.grid.AgentManager; for (agent in AgentManager.instance.getBuildAgents()) { try { agent.getNodeService().pluginSettingChanged("com.qcgd.quickbuild.nugetplugin"); } catch (Exception e) { logger.error("Error notifying plugin setting changed for node " + agent.address, e); } } for (agent in AgentManager.instance.getUserAgents()) { try { agent.getNodeService().pluginSettingChanged("com.qcgd.quickbuild.nugetplugin2"); } catch (Exception e) { logger.error("Error notifying plugin setting changed for node " + agent.address, e); } } Then check the build log to see which build agent is having problem locating the plugin. I've restart prod QB many times while swapping versions of the plugin.
All the build agents are up and we still have this problem. I will mention that we have one unauthorized node. Might that be the one that is causing the problem? I'll see about getting you the db Looks like that for some reason, some of your build agents are not updated to get your custom plugin. Please restart your prod QB server and wait for all build agents to come back online and test if the problem still exists.
8.0.4 also works fine at my side. Is it possible that you take a backup of production database and send to [robin AT pmease DOT com] for diagnostics?
Full stack
2018-08-31 19:56:51,388 [qtp26335886-41] ERROR com.pmease.quickbuild.web.WicketConfig - Error handling wicket request. org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at [ [Component id = form]] on component [ [Component id = form]] threw an exception at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:282) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:220) at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:179) at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:165) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:719) at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162) at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:159) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at com.pmease.quickbuild.web.MainServlet.service(MainServlet.java:135) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:365) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at com.pmease.quickbuild.Quickbuild$DisableTraceFilter.doFilter(Quickbuild.java:1138) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:272) ... 36 more Caused by: com.pmease.quickbuild.RemotingException: Unable to find plugin with id 'com.qcgd.quickbuild.nugetplugin'. at com.pmease.quickbuild.pluginsupport.DefaultPluginManager.getPlugin(DefaultPluginManager.java:124) at com.pmease.quickbuild.pluginsupport.DefaultPluginManager.getPlugin(DefaultPluginManager.java:25) at com.pmease.quickbuild.grid.NodeServiceImpl.pluginSettingChanged(NodeServiceImpl.java:302) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:302) at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:198) at com.caucho.hessian.server.HessianServlet.invoke(HessianServlet.java:399) at com.caucho.hessian.server.HessianServlet.service(HessianServlet.java:379) at com.pmease.quickbuild.grid.GridServlet.service(GridServlet.java:36) ... 20 more Nothing in database records the plugin location. I exported your plugin source to deployable plugin and copy it to "plugins/site" folder and everything works fine when edit the plugin setting. Can you please test with a fresh install of QB 8.0.16 to see if it still exhibits the problem?
Please find the source attached.
I've tried a bunch of things. First I thought the error was due to our plugin pointing to JDK 1.6 (while we're using JDK 1.8). Changing that didn't make a difference. Then I thought maybe it was due to our plugin pointing to Require-Bundle: com.pmease.quickbuild;bundle-version="6.0.36" But changing that didn't help. I've disabled then enabled and that didn't help. I've removed and then added the plugin, didn't help. I'm wondering if there's something in the database? Thanks plugins/site is a valid plugin directory, and is intended to be used for custom plugins. I tested with a simple plugin and the plugin setting editing works without any issues. Is it possible that you send your plugin source code so that I can check what might be the issue here?
https://wiki.pmease.com/display/QB80/Plugin+Management
"New plugins can be installed by dropping the plugin file into the plugins folder, followed by restart of the QuickBuild server." Are custom plugins supposed to be in plugins/site or not? |