Commit Graph

77 Commits

Author SHA1 Message Date
dan engelbrecht
09c34df272 Verify that a different process has not recovered the zenserver process before forcing a restart
#jira UE-216389
#rb zousar.shaker

[CL 34333467 by dan engelbrecht in ue5-main branch]
2024-06-13 04:03:10 -04:00
dan engelbrecht
00bd4582eb Add a timeout when locking for zenserver recovery and validate that we get the lock before attempting recovery.
This avoid a race condition where multiple threads would try to start recovery at the same time.
#jira UE-216389
#rb zousar.shaker

[CL 34277375 by dan engelbrecht in ue5-main branch]
2024-06-11 11:05:27 -04:00
zousar shaker
6c36f81729 Make sure we install the PDB for the zen.exe utility when performing an installation and not just the PDB for the zenserver.exe service.
#rb dan.engelbrecht

[CL 32942476 by zousar shaker in ue5-main branch]
2024-04-12 16:11:55 -04:00
zousar shaker
e76b8acd1d Ensure that if we fail to launch zenserver with the CREATE_BREAKAWAY_FROM_JOB flag on Windows that we try again without that flag.
#rb Matt.Peters
#jira UE-211574

[CL 32772317 by zousar shaker in ue5-main branch]
2024-04-05 16:54:36 -04:00
zousar shaker
c50234b1ed Ensure that if we fail to launch zenserver with the CREATE_BREAKAWAY_FROM_JOB flag on Windows that we try again without that flag.
#rb Matt.Peters

[CL 32710198 by zousar shaker in ue5-main branch]
2024-04-03 16:47:09 -04:00
zousar shaker
1ccf5decf0 Ensure that if zenserver AutoLaunch fails that we have at least one more attempt launch, even if the first attempt exceeded our wait timeout. This can occur if the first attempt spent a while waiting for the lock to free up.
[FYI] dan.engelbrecht
#jira UE-207039

[CL 32419208 by zousar shaker in ue5-main branch]
2024-03-21 17:55:38 -04:00
zousar shaker
fc02a17725 Further hardening of zen launch sequence.
#rb dan.engelbrecht
#jira UE-207039

[CL 32339910 by zousar shaker in ue5-main branch]
2024-03-19 17:27:44 -04:00
zousar shaker
d524494c62 Address missing file descriptor close on Mac/Linux that is related to the lock file handling when launching zenserver. Also fix an incorrect return value from the Mac/Linux implementation of IsLockFileLocked in the case of an orphaned lock file.
#rb stefan.boberg
#jira UE-207039

[CL 32233751 by zousar shaker in ue5-main branch]
2024-03-13 19:29:39 -04:00
zousar shaker
cdc085bac6 Remove one line edit added in my previous changelist because it isn't necessary.
#rb dan.engelbrecht
#jira UE-207039

[CL 32184411 by zousar shaker in ue5-main branch]
2024-03-12 13:15:49 -04:00
zousar shaker
afb8855979 Address zenserver autolaunch/lifecycle issues identified on Windows, Mac, and Linux using lifecycle stress test.
#rb dan.engelbrecht
#jira UE-207039

[CL 32174180 by zousar shaker in ue5-main branch]
2024-03-12 01:52:39 -04:00
zousar shaker
404a8affe6 Attempt shut down of running zenserver process if we find a locked lock file but the pid registered in the lock file can't be found.
If a pid can not be found when finding a matching desired/effective port, keep looking if any other state has a matching port.
Hardened and added logging to NativeIsProcessRunning.

Run of Low Level Tests in Main  here: https://horde.devtools.epicgames.com/job/65e81c5d156d6df40d304906

#jira UE-207039
#rb Zousar.Shaker

#ushell-cherrypick of 31938454 by swarm

[CL 32068216 by zousar shaker in ue5-main branch]
2024-03-06 16:52:12 -05:00
zousar shaker
0c40eb4aef Identify zenserver as Unreal Zen Storage Server in messagebox dialogs and accompanying logs for high priority messages. Ensure google drive warning follows the same messagebox/log logic as other prompts. Eliminate the use of RequestExit from within ZenServerInterface, failure should not force process shutdown.
#rb dan.engelbrecht
#jira UE-208878

[CL 32022078 by zousar shaker in ue5-main branch]
2024-03-05 11:23:40 -05:00
dan engelbrecht
4f7386867d Use process-unique name for zen data directory validity test
Fixes warning "Warning: [CookWorker 2]: Skipping subprocess environment variable UE-ZenSubprocessDataPath=d:/build/++Fortnite/Sync/ZenData due to an invalid path" caused by a race condition between multiple cook workers.
See https://horde.devtools.epicgames.com/log/65dc47bbdd128eaa49c6cc13?lineindex=90207
#jira UE-208562

#rb Zousar.Shaker

[CL 31941714 by dan engelbrecht in ue5-main branch]
2024-03-01 08:58:49 -05:00
zousar shaker
a926360c9d Change default zen data and install directories to be per-user, and clean up old default directories when migrating to a new one.
#rb dan.engelbrecht
#jira UE-205982

[CL 31567090 by zousar shaker in ue5-main branch]
2024-02-16 11:15:16 -05:00
zousar shaker
217c59362e Fix a bug where ZenServer data path would not update if you initiated an editor restart after changing the Global Local Data Cache Path. This was due to environment variable inheritance of UE-ZenSubprocessDataPath. This change ensures that environment variable is cleared as part of shutdown before the editor spawns a new instance of itself. Also fixed some whitespace issues in passing.
#rb dan.engelbrecht
#jira UE-204051

[CL 31521807 by zousar shaker in ue5-main branch]
2024-02-15 11:26:49 -05:00
zousar shaker
7e9471fdd9 Fix issue where zenserver fails to launch when DDC path differs between two workspaces.
[FYI] dan.engelbrecht

[CL 31369045 by zousar shaker in ue5-main branch]
2024-02-10 13:08:03 -05:00
dan engelbrecht
7dcc88d30d Further hardening of zen service shut down
#jira UE-205143
#rb Stefan.Boberg, Zousar.Shaker

[CL 31331422 by dan engelbrecht in ue5-main branch]
2024-02-09 04:44:22 -05:00
zousar shaker
44a4ac6063 Fix non-editor (program) use cases of Zen AutoLaunch to ensure that they load the editor settings config before accessing it.
#rb dan.engelbrecht

[CL 31295432 by zousar shaker in ue5-main branch]
2024-02-08 13:18:53 -05:00
zousar shaker
969392d5fe Fix for zenserver shutdown and start logic bug. The "return" within the while NativeIsProcessRunning || IsZenProcessUsingEffectivePort loop creates a situation where we can exit the loop before the process is completely gone, meaning the lockfile could still be present.
#jira UE-205971
[FYI] dan.engelbrecht

[CL 31200515 by zousar shaker in ue5-main branch]
2024-02-05 19:47:23 -05:00
dan engelbrecht
5f7a896d20 Validate running processes for zenserver by using native functions directly.
We need to control how the process handle is opened.
#jira UE-205151
#rb stefan.boberg, Zousar.Shaker

[CL 31127942 by dan engelbrecht in ue5-main branch]
2024-02-02 11:42:14 -05:00
dan engelbrecht
7c1c1d6af8 Remove launch zenserver as admin fallback
#rb Stefan.Boberg, Zousar.Shaker

[CL 31063772 by dan engelbrecht in ue5-main branch]
2024-01-31 16:16:41 -05:00
dan engelbrecht
73436364ff Add logging when signalling zenserver event for shutdown fails
#jira UE-205143
#rb Zousar.Shaker

[CL 31055812 by dan engelbrecht in ue5-main branch]
2024-01-31 13:24:32 -05:00
zousar shaker
662d9b1d71 Adjusting logs related to zen usage to:
- Remove repeated log related to fetching cache stats
- Ensure that the Zen cache usage has log lines explaining the status of the caches it attempts to connect to (success or failure)

#rb Matt.Peters

[CL 30710842 by zousar shaker in ue5-main branch]
2024-01-18 22:43:41 -05:00
dan engelbrecht
f4e800d5f8 Add missing changes for CL 30501142 (and 30501566)
For local Zen DDC connections show the path where data is store in the Cache Statistics tab for DDC instead of local ip address
For Zen DDC connection show the storage size
#jira UE-199929
#rb Devin.Doucette

[CL 30504523 by dan engelbrecht in ue5-main branch]
2024-01-09 10:20:00 -05:00
dan engelbrecht
72c28eab28 Add missing changes for CL 30501078
For local Zen DDC connections show the path where data is store in the Cache Statistics tab for DDC instead of local ip address
For Zen DDC connection show the storage size
#jira UE-199929
#rb Dan.Engelbrecht

[CL 30501572 by dan engelbrecht in ue5-main branch]
2024-01-09 06:51:57 -05:00