SCM export: invalid tag and renamed job causes "Entry not found by path" #1885

Closed
ltamaster opened this Issue Jun 9, 2016 · 0 comments

Projects

None yet

2 participants

@ltamaster
Contributor

A possible Bug was detected in SCM export plugin.

This was detected when a job is modified. Specifically when it is changed the Job's name or/and the Job's group.

That kind of modification moves the job's definition to a new folder/file name, so that could be one of the possibles causas.

A sequence that produce this issue was the follow:

  1. edit the job (move the name or group)
  2. Make a commit with problems (eg: at the commit's message add a bad "Tag name" like "tes ttet e ii ++++", to make the process fail)
  3. edit the job again (to get the commit option enabled again)
  4. Try to commit that new changes.

This sequence produces that Git keeps the association with the old path, so the commit fail.

Here is a document with the sequence's detail:
SCM_error.pdf

Error:

Request: /project/bvault/job/9adc3dde-233f-43fd-b2f8-34694531ff26/scm/export/performActionSubmit?pluginProperties.tagName=&pluginProperties=%5BtagName%3A%2C+push%3Atrue%2C+message%3Amove+it%2C+_push%3A%5D&orig.push=&orig=%5Bpush%3A%2C+tagName%3A%2C+message%3A%5D&submit=Commit&pluginProperties.push=true&pluginProperties.message=move+it&SYNCHRONIZER_URI=%2Fproject%2Fbvault%2Fscm%2Fexport%2FperformAction&renamedPaths.addc6ff1-c4d1-4a63-8541-846adfb49efa=foundational_apps%2Fmesos%2Fstatus%2Fstatus_mesos-master.xml&renamedPaths=%5Baddc6ff1-c4d1-4a63-8541-846adfb49efa%3Afoundational_apps%2Fmesos%2Fstatus%2Fstatus_mesos-master.xml%2C+eddc4049-916f-4128-967f-6fa879ae643c%3Afoundational_apps%2Fmesos%2Fstatus%2Fstart_mesos-master.xml%2C+2deb7d97-e3f9-40d4-848f-d80c9977e5b7%3Afoundational_apps%2Ffixes%2FDESTRUCTIVE_mesos_clean.xml%2C+9adc3dde-233f-43fd-b2f8-34694531ff26%3Afoundational_apps%2Fexhibitor%2Fstatus%2Fstatus.xml%2C+e4fa70fc-d937-491b-8a70-7bd2ca322bf2%3Afoundational_apps%2Fmesos%2Fstatus%2Fstop_mesos-master.xml%5D&orig.tagName=&_id=&_id=&_id=&_id=&_id=&_id=&_id=&renamedPaths.eddc4049-916f-4128-967f-6fa879ae643c=foundational_apps%2Fmesos%2Fstatus%2Fstart_mesos-master.xml&renamedPaths.2deb7d97-e3f9-40d4-848f-d80c9977e5b7=foundational_apps%2Ffixes%2FDESTRUCTIVE_mesos_clean.xml&renamedPaths.9adc3dde-233f-43fd-b2f8-34694531ff26=foundational_apps%2Fexhibitor%2Fstatus%2Fstatus.xml&orig.message=&actionId=project-commit&allJobs=&SYNCHRONIZER_TOKEN=40bbf631-d5e2-4e75-b661-9641438b3583&pluginProperties._push=&renamedPaths.e4fa70fc-d937-491b-8a70-7bd2ca322bf2=foundational_apps%2Fmesos%2Fstatus%2Fstop_mesos-master.xml
Message: Entry not found by path: foundational_apps/exhibitor/status/status.xml
Caused by: Entry not found by path: foundational_apps/exhibitor/status/status.xml
Class: ScmController
At Line: [1157]
Code Snippet:

Stack Trace

org.eclipse.jgit.api.errors.JGitInternalException: Entry not found by path: foundational_apps/exhibitor/status/status.xml
at org.eclipse.jgit.api.CommitCommand.createTemporaryIndex(CommitCommand.java:468)
at org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:238)
at org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:103)
at org.rundeck.plugin.scm.git.exp.actions.CommitJobsAction.perform(CommitJobsAction.groovy:133)
at org.rundeck.plugin.scm.git.GitExportPlugin.export(GitExportPlugin.groovy:126)
at rundeck.services.ScmService.performExportAction(ScmService.groovy:1003)
at rundeck.controllers.ScmController.performActionSubmit(ScmController.groovy:1157)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360)
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:539)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:288)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:97)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:486)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:349)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:925)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
at java.lang.Thread.run(Thread.java:745)

@gschueler gschueler added the bug label Jun 21, 2016
@gschueler gschueler added this to the 2.6.9 milestone Jun 21, 2016
@gschueler gschueler closed this in 8f62df1 Jun 23, 2016
@gschueler gschueler changed the title from possible bug with SCM export to SCM export: invalid tag and renamed job causes "Entry not found by path" Aug 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment