Jenkins fingerprint cleanup job schedule

2,090 views
Skip to first unread message

Ashish Yadav

unread,
Jan 18, 2017, 11:48:57 AM1/18/17
to jenkins...@googlegroups.com
Where in Jenkins is the fingerprint cleanup job or run schedule defined? What does this fingerprint cleanup job do?


I am seeing A LOT of these errors everything the job runs. I even restarted Jenkins but I am still getting these errors. I know build #93 does not exist on the server. Why is this job looking specifically for that one?


Jan 18, 2017 10:35:59 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Started Fingerprint cleanup
Jan 18, 2017 10:36:18 AM WARNING hudson.model.RunMap retrieve
could not load /var/lib/jenkins/jobs/8.11/jobs/ABC/jobs/workflow/modules/com.ab.workflow$ab-service/builds/93
java.io.IOException: Unable to read /var/lib/jenkins/jobs/8.11/jobs/ABC/jobs/workflow/modules/com.ab.workflow$ab-service/builds/93/build.xml
	at hudson.XmlFile.unmarshal(XmlFile.java:165)
	at hudson.model.Run.reload(Run.java:326)
	at hudson.model.Run.<init>(Run.java:314)
	at hudson.model.AbstractBuild.<init>(AbstractBuild.java:175)
	at hudson.maven.AbstractMavenBuild.<init>(AbstractMavenBuild.java:51)
	at hudson.maven.MavenBuild.<init>(MavenBuild.java:124)
	at sun.reflect.GeneratedConstructorAccessor45.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at jenkins.model.lazy.LazyBuildMixIn.loadBuild(LazyBuildMixIn.java:156)
	at jenkins.model.lazy.LazyBuildMixIn$1.create(LazyBuildMixIn.java:133)
	at hudson.model.RunMap.retrieve(RunMap.java:223)
	at hudson.model.RunMap.retrieve(RunMap.java:56)
	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:479)
	at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:461)
	at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:367)
	at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:318)
	at jenkins.model.lazy.AbstractLazyLoadRunMap.oldestBuild(AbstractLazyLoadRunMap.java:278)
	at jenkins.model.lazy.LazyBuildMixIn.getFirstBuild(LazyBuildMixIn.java:231)
	at hudson.model.AbstractProject.getFirstBuild(AbstractProject.java:989)
	at hudson.model.AbstractProject.getFirstBuild(AbstractProject.java:145)
	at hudson.model.Fingerprint.trim(Fingerprint.java:1033)
	at hudson.model.FingerprintCleanupThread.check(FingerprintCleanupThread.java:112)
	at hudson.model.FingerprintCleanupThread.execute(FingerprintCleanupThread.java:75)
	at hudson.model.AsyncPeriodicWork$1.run(AsyncPeriodicWork.java:53)
	at java.lang.Thread.run(Thread.java:745)
Caused by: com.thoughtworks.xstream.io.StreamException:  : input contained no data
	at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:126)
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148)
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141)
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118)
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103)
	at com.thoughtworks.xstream.io.xml.XppReader.<init>(XppReader.java:63)
	at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:54)
	at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:65)
	at hudson.XmlFile.unmarshal(XmlFile.java:163)
	... 25 more
Caused by: java.io.EOFException: input contained no data
	at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3003)
	at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
	at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410)
	at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395)
	at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
	at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109)
	... 33 more
Jan 18, 2017 10:36:18 AM INFO hudson.model.AsyncPeriodicWork$1 run
Finished Fingerprint cleanup. 19,143 ms

Rachel Moreno

unread,
Jan 19, 2017, 12:53:53 PM1/19/17
to Jenkins Users, ashish...@firemon.com
Hi Ashish,

Jenkins uses Fingerprints in order to track files with each build.

There is a plugin to force its use, but they are enabled by default in Maven jobs (and it cannot be disabled).

I think you could try to delete the content of the following directory (it keeps XML files with Fingerprints):

$JENKINS_HOME/fingerprints/

I hope be useful.

Best regards,
Rachel

Ashish Yadav

unread,
Jan 19, 2017, 1:19:09 PM1/19/17
to Rachel Moreno, Jenkins Users
Rachel,

Thanks for looking into this. Just a few follow up questions.

In the $JENKINS_HOME/fingerprints/
I am see a lot of directories with an xml file.

1. How are these files created?
2. If I delete these, will these be auto-generated the next time the fingerprint job runs?
3. Do I need to stop Jenkins before deleting these or can I delete them on the fly?
4. If I can delete them on the fly, is a Jenkins restart required?


Thanks,

Ashish.
From: Rachel Moreno <raquel.mor...@gmail.com>
Date: Thursday, January 19, 2017 at 11:53 AM
To: Jenkins Users <jenkins...@googlegroups.com>
Cc: Ashish Yadav <ashish...@firemon.com>
Subject: Re: Jenkins fingerprint cleanup job schedule

Rachel Moreno

unread,
Jan 19, 2017, 1:34:52 PM1/19/17
to Jenkins Users, raquel.mor...@gmail.com, ashish...@firemon.com
Hi Ashish,

I'm not really sure, but I can tell you what I think and I would do:

1. How are these files created? When a job is executed. Those XML files relate generated files in a build with that build.
2. If I delete these, will these be auto-generated the next time the fingerprint job runs? I suppose so.
3. Do I need to stop Jenkins before deleting these or can I delete them on the fly? I'd recommend you stop Jenkins and backup directory before.
4. If I can delete them on the fly, is a Jenkins restart required?

I hope be useful.

Best regards,
Rachel
Reply all
Reply to author
Forward
0 new messages