-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate Hero Version: Disable usage of hardlinks, but allow enabling via settings #678
Integrate Hero Version: Disable usage of hardlinks, but allow enabling via settings #678
Conversation
Not sure how to approach this PR and its testing... could you elaborate more on exact testing steps pls? I was trying to render animation on DL and also publish animation products while rendering and never happened to me that hero version integration failed (tested outside of this PR). So Im not sure how I should prove this PR fixes something. So more elaborate test steps might help me a lot...thx |
The bug the client is facing may be hard to reproduce - I think the best test for you here, outside of their production enviromment, is to ensure the setting does what it is intended to do and that is "choose" between writing hero versions as hardlinks or regular copies. So I suppose, with the setting on and off do a few hero publishes, all should work fine. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...it seems that the |
@LiborBatek your test screenshot with the forcing copy versus hardlink seems to be for Look publishing from Maya - which is unrelated to this PR. The only thing this PR changes is the Integration of Hero Versions Then, the logic currently was always reporting it's copying the file instead of reporting it's hardlinking - which may be confusing since you then can't really check the log but must check the files on disk itself to confirm whether it hardlinked or not. I've changed that with 0ab3653 It should now debug log "Hardlinking file {source} to {destination}" if hardlink is enabled for Integrate Hero Versions and will debug log "Copying file {source} to {destination}". If for whatever reason the hardlink failed and it falls back to copying the file it will now debug log that as well. |
Test run on my side. Setting enabled:
Setting disabled:
|
should not the hardlinking be more generic setting (the storage either supports it or not) having this option scattered across different families and DCCs does not sound right to me. |
I understand your point. But at the same time I don't see an issue with a studio wanting looks to NOT be hardlinked, but hero versions they want. Which is a customization option you would lose then. These are now two options - that's not too bad. If this was scattered all over for 10s of options. It could be worth a separate issue if you think it's very problematic in design currently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changelog Description
Integrate Hero Version: Disable usage of hardlinks, but allow enabling via settings
Additional info
There are 'known issues' with hardlinks on Windows where Windows disallows deleting any of the links if ANY of the files are in use. As such, when e.g. hero version and latest v010 publish are hardlinked, a machine actively has v010 in use (e.g. on renderfarm) and we try to delete an swap the hero version with a v011 hardlink when publishing a new version then Windows disallows the removal of the hero version's files - even if actually that particular file isn't in use.
Historically there have been issues with hardlinks when publishing looks. More details scattered across:
And yes, hardlinks have bitten our asses before as you can see.
Testing notes:
On Windows you should be able to 'detect' hardlinks using
fsutil hardlink
: