Change By: Hua Zhang (11/Jul/13 4:19 PM)
Description: We were experiencing extrem slow fingerprinting in post-build step. It turns out that the include pattern of scm sync configure plugin is triggered by FingerPrint.save() (details see discussion in mailing list[1]).  So the include pattern may significantly impact the speed.  Here is a thread dump:
{code}
Executor #1 for comitdev16 : executing SD-2112 #3" Id=62 Group=main RUNNABLE
at java.io.UnixFileSystem.list(Native Method)
at java.io.File.list(File.java:973)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1257)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1287)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1287)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1287)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1211)
at org.apache.tools.ant.DirectoryScanner.checkIncludePatterns(DirectoryScanner.java:1030)
at org.apache.tools.ant.DirectoryScanner.scan(DirectoryScanner.java:909)
-  locked org.apache.tools.ant.DirectoryScanner@34cf6c49
at hudson.plugins.scm_sync_configuration.strategies.model.PatternsEntityMatcher.matchingFilesFrom(PatternsEntityMatcher.java:41)
at hudson.plugins.scm_sync_configuration.strategies.model.PatternsEntityMatcher.matches(PatternsEntityMatcher.java:25)
at hudson.plugins.scm_sync_configuration.strategies.AbstractScmSyncStrategy.isSaveableApplicable(AbstractScmSyncStrategy.java:53)
at hudson.plugins.scm_sync_configuration.ScmSyncConfigurationPlugin.getStrategyForSaveable(ScmSyncConfigurationPlugin.java:277)
at hudson.plugins.scm_sync_configuration.extensions.ScmSyncConfigurationSaveableListener.onChange(ScmSyncConfigurationSaveableListener.java:22)
at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:78)
at hudson.model.Fingerprint.save(Fingerprint.java:862)
-  locked hudson.model.Fingerprint@281c2370
at hudson.model.Fingerprint.<init>(Fingerprint.java:597)
at hudson.model.FingerprintMap.create(FingerprintMap.java:90)
at hudson.model.FingerprintMap.create(FingerprintMap.java:45)
at hudson.util.KeyedDataStorage.get(KeyedDataStorage.java:156)
at hudson.model.FingerprintMap.get(FingerprintMap.java:79)
at hudson.model.FingerprintMap.get(FingerprintMap.java:45)
at hudson.util.KeyedDataStorage.getOrCreate(KeyedDataStorage.java:108)
at hudson.model.FingerprintMap.getOrCreate(FingerprintMap.java:65)
at hudson.tasks.Fingerprinter$1Record.addRecord(Fingerprinter.java:210)
at hudson.tasks.Fingerprinter.record(Fingerprinter.java:254)
at hudson.tasks.Fingerprinter.perform(Fingerprinter.java:133)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
at hudson.model.Run.execute(Run.java:1601)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:241)
{code}

I think reacting to all SaveableListener.fireOnChange might be too aggressive, since in this paticular case, no configuration changes are involved.

[1] https://groups.google.com/forum/#!topic/jenkinsci-users/AftANOOYgt8
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply via email to