Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-58316

Unable to create history entry for configuration file of node

      This is affecting some QA environments, but also live when trying to add lots of new slaves. This was not happening on previous Jenkins verison 2.73 with jobconfighistory plugin version 2.18. We are currently on Jenkins 2.164.2 and plugin version 2.21.

       

      This seems to be a random failure, after 4 attempts of deploying to live last night to get the slaves on, I rebooted jenkins server and then all the slaves were created and deployment ran in fine.

       

      If I look in the Jenkins Node folder I can see a new folder has been created but no config.xml alon with an entry in the config-history\nodes folder but again nothing in there. I can see the slave in jenkins for the new node as well and if I modify it It will then create a config.xml

       

      java.lang.RuntimeException: Unable to create history entry for configuration file of node xxxxxx java.lang.RuntimeException: Unable to create history entry for configuration file of node xxxxxxxx at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntry(FileHistoryDao.java:1033) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntryAndSaveConfig(FileHistoryDao.java:902) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewNode(FileHistoryDao.java:888) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onAdd(ComputerHistoryListener.java:89) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onConfigurationChange(ComputerHistoryListener.java:65) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:232) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1581) at jenkins.model.Nodes$2.run(Nodes.java:138) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at jenkins.model.Nodes.addNode(Nodes.java:134) at jenkins.model.Jenkins.addNode(Jenkins.java:2089) at jenkins.model.Jenkins$addNode$10.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at RemoteClass.run(RemoteClass:23) at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:263) at groovy.lang.GroovyShell.run(GroovyShell.java:518) at groovy.lang.GroovyShell.run(GroovyShell.java:497) at hudson.cli.GroovyCommand.run(GroovyCommand.java:89) at hudson.cli.CLICommand.main(CLICommand.java:283) at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:95) at sun.reflect.GeneratedMethodAccessor520.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:929) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:903) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:855) at hudson.remoting.UserRequest.perform(UserRequest.java:212) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:66) at hudson.remoting.CallableDecoratorAdapter.call(CallableDecoratorAdapter.java:18) at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

       

       

          [JENKINS-58316] Unable to create history entry for configuration file of node

          Robin Schulz added a comment -

          This RuntimeException has its origin in XmlFile::write(Object):
          [https://github.com/jenkinsci/jenkins/blob/jenkins-2.164.2/core/src/main/java/hudson/XmlFile.java#L185
          ](identical to current master)

          The implementation of this method has changed since your last version (2.73):
          https://github.com/jenkinsci/jenkins/blob/stable-2.73/core/src/main/java/hudson/XmlFile.java#L166

          So this likely is induced by changes on the core's side.
          Since i can't reproduce this I will improve the error message to contain the original message.

           

          Robin Schulz added a comment - This RuntimeException has its origin in XmlFile::write(Object) : [https://github.com/jenkinsci/jenkins/blob/jenkins-2.164.2/core/src/main/java/hudson/XmlFile.java#L185 ](identical to current master) The implementation of this method has changed since your last version (2.73): https://github.com/jenkinsci/jenkins/blob/stable-2.73/core/src/main/java/hudson/XmlFile.java#L166 So this likely is induced by changes on the core's side. Since i can't reproduce this I will improve the error message to contain the original message.  

            stefanbrausch Stefan Brausch
            paulspn1 Paul Spencer
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: