Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
When using rich matrix axes or deep folders hierarchy, substantial part of maximal path name (255 on windows for instance) can be consumed by the path to workspace not leaving enough room for the build itself.
Introduce threshold (global or per job) to define expected path length left for build. if the default allocation algorithm creates WS path so long that there will be not enough path length left for the build, hash should be used instead.
Therefore, if the threshold will be configured to 1024 Jenkins will use hash on Windows all the time and on linux only if the workspace path exceeds 3072 characters (assuming 4096 is the maximal path allowed on linux).
Attachments
Issue Links
- is related to
-
JENKINS-44983 HUDSON_COOKIE variable is not expanded when used inside global env variables
-
- Open
-
-
JENKINS-25330 Folders should offer to use a hash for workspace path (like matrix does)
-
- Resolved
-
-
JENKINS-25783 very long build directory paths are created by Matrix project, and difficult directcory names
-
- Resolved
-
- relates to
-
JENKINS-2111 removing a job (including multibranch/org folder branches/repos) does not remove the workspace
-
- Resolved
-
-
JENKINS-34564 Give the ability to choose how the multibranch subprojects will be named.
-
- Resolved
-
Any change of having this fixed, ever, at least for normal pipelines?
Here is one real life example:
/home/rhos-ci/jenkins/workspace/DFG-storage-cinder-20_director-rhel-virthost-3cont_2comp-ipv4-vxlan-netapp-nfs-external-ssbarnea
With the mention that limiting the job name is impossible, there are tens of people creating jobs and no way to enforce a limit, in addition that an attempt to rename >1000 existing jobs would be an epic failure.
The only thing where it may be possible to cut few characters is on jenkins slave HOME directory and subfolder, but other than this nope. Even so, changing this would be quite complex too as it would involve lots of slaves type which are created by various people where almost for sure you will endup with some not using the shortened home directory workaround.
Still, even if I manage to pick the minimum possible home directory, of "/j" it will clearly not be enough to make virtuaenvs working because job names will continue to be too long. **