Fail: "The specified path, file name, or both are too long"
isme
Posts: 119
This morning we upgraded RGDM from version 2.3.2.1 to version 2.3.4.13.
After the upgrade my release failed to deploy because a path was too long.
The log doesn't show which path is too long. The path in the log is well under the 260 character limit.
The last release before the upgrade was successful.
It appears the new version is now using the TEMP environment variable of the service account (svc_deployment) as the installation path instead of the package cache directory (G:\RedaGate).
We changed TEMP for svc_deployment to something shorter: G:\Temp.
Now the package installation succeeds.
This change is not in the RGDM release notes. Can someone from Red Gate confirm the new behavior?
After the upgrade my release failed to deploy because a path was too long.
2013-11-26 13:40:08 +00:00 INFO - Agent version: 2.3.4.13 2013-11-26 13:40:08 +00:00 INFO Installing package ApiServices-backend-database.0.82 from uploaded package cache into C:\Users\svc_deployment\AppData\Local\Temp\2apsnlzc.ep5\Packages\..\Applications\SSDVWUK1QPS602\ApiServices-backend-database\0.82 2013-11-26 13:40:09 +00:00 INFO Installing 'ApiServices-backend-database 0.82'. 2013-11-26 13:40:09 +00:00 ERROR The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
The log doesn't show which path is too long. The path in the log is well under the 260 character limit.
The last release before the upgrade was successful.
2013-11-08 17:05:16 +00:00 INFO - Agent version: 2.3.2.1 2013-11-08 17:05:16 +00:00 INFO Installing package ApiServices-backend-database.0.54 from uploaded package cache into G:\RedaGate\PackageCache\ApiServices-backend-database.0.54\..\Applications\SSDVWUK1QPS602\ApiServices-backend-database\0.54 2013-11-08 17:05:16 +00:00 INFO Installing 'ApiServices-backend-database 0.54'. 2013-11-08 17:05:17 +00:00 INFO Successfully installed 'ApiServices-backend-database 0.54'.
It appears the new version is now using the TEMP environment variable of the service account (svc_deployment) as the installation path instead of the package cache directory (G:\RedaGate).
We changed TEMP for svc_deployment to something shorter: G:\Temp.
Now the package installation succeeds.
2013-11-26 13:43:13 +00:00 INFO - Agent version: 2.3.4.13 2013-11-26 13:43:13 +00:00 INFO Installing package ApiServices-backend-database.0.82 from uploaded package cache into G:\Temp\3uobdlq4.v5r\Packages\..\Applications\SSDVWUK1QPS602\ApiServices-backend-database\0.82 2013-11-26 13:43:13 +00:00 INFO Installing 'ApiServices-backend-database 0.82'. 2013-11-26 13:43:14 +00:00 INFO Successfully installed 'ApiServices-backend-database 0.82'
This change is not in the RGDM release notes. Can someone from Red Gate confirm the new behavior?
Iain Elder, Skyscanner
Comments
"Improved support for deploying multiple databases as part of the same step"
We didn't go into detail in the release notes as to what the bug was, or indeed, how we fixed it. Basically, all the deployments for a single step were being run from the same folder, so they clashed with each other. Our bug fix was to give each deployment its own folder in temp, rather than them all using the same folder, which is the behaviour that you are now seeing.
I'm glad to hear that you're back up and running again with the workaround. Is that going to be fine for you long-term, or are you after anything from us?
The workaround should be acceptable as long as RGDM is the only service that uses the svc_deployment account.
The new dependency on TEMP should be added to the interface and documentation.
The Server Tools interface was the first place we looked to investigate the problem, but it didn't reveal anything.
Would you be able to make the working directory settable from within the RGDM Server Tools interface? The value of the setting could default to %TEMP%.