Why are some of my folders missing?

Issue

You or some of your users notice that one of your folders is missing. Reviewing your logs you see a log entry compatible with the one shown below:

WARNING: Ignoring /app/nfs/jenkins/home/jobs/XXX Push to xxxxx as folder naming rules collide with /app/nfs/jenkins/home/jobs/XXX Push to xxxxx

SEVERE: Failed Loading item <Name of the item>
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3332)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124

Or

XXXX-XX-XX [id=98]    SEVERE  jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading item <Item_name>
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:3332)
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
    at java.lang.StringBuilder.append(StringBuilder.java:202)
    at jenkins.branch.NameEncoder.decode(NameEncoder.java:214)

Or

WARNING c.c.h.p.folder.AbstractFolder#loadChildren: Ignoring <itemFullName> as folder naming rules collide with <otherItemFullName>

The key here is that these item names will contain a succession of the same letter, e.g.: fffffffff.1q2w3e4r5t6.sssssssss

The problem is coming from a known issue on the Branch API Plugin, the issue is JENKINS-59756. And as explained in the issue itself is related to the fact that some of the branch names are using reserved characters.

With multibranch pipelines that have branch names including these reserved URL characters, such as the / in feature/branch-name, this method gets called as part of the creation of a file called name-utf8.txt, which defines the computed folders for the branch jobs containing these special characters. The bug causes this file to essentially double in size.

Potentially, this problem can cause a big impact on your instance.

Environment

Resolution

Upgrade Branch API Plugin up to at least 2.5.5 version. These versions will contain the fix for the issue.

Workaround

Remove all the name-utf8.txt in the $JENKINS_HOME and restart Jenkins (or only target the bigger ones). But this will give you a temporary workaround while you plan to upgrade the plugin.

Tested product/plugin versions

References

  • JENKINS-59756 NameEncoder.decode can introduce duplicate characters per build to name-utf8.txt.

Have more questions?

0 Comments

Please sign in to leave a comment.