Commit Graph

6 Commits

Author SHA1 Message Date
jason walter
ed799330a4 Create separate program UnrealMultiUserSlateServer
Main implementation by Dominik with build and switchboard support added by me.

#jira UE-147235
#rb Dominik.Peacock
#preflight 6284fa081f474f0660ecb74e

[CL 20264867 by jason walter in ue5-main branch]
2022-05-18 14:02:54 -04:00
Andriy Tylychko
2a295eb685 deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau

[CL 17176325 by Andriy Tylychko in ue5-main branch]
2021-08-16 11:05:18 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
patrick laflamme
94b4e6d5ad Improved scalability of Disaster Recovery
- Converted Concert API transferring package data in-memory only model to a streaming model to support packages bigger than 2 GB. (TNumberiLimit<int32>::max())
  - Added the IConcertFileSharing interface to share large files between the client and the server. This is used as a side channel to the Concert request/response and event protocol.
  - Fixed the ConcertClientPackageManager to prevent sending the package data for each the 'pre-save' when the 'live sync'  is off. It only emits it once.
  - Fixed UI to correctly report pre-save vs save vs auto-save for package as well as when a package is discarded.

#jira UE-85652 - Crash when importing large FBX with Morph Targets and Disaster Recovery enabled
#jira UE-78722 - Potential Memory Leak with Disaster Recovery Plugin

#rb Francis.Hurteau, Jamie.Dale

#ROBOMERGE-SOURCE: CL 12113821 in //UE4/Release-4.25/... via CL 12113828
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)

[CL 12113837 by patrick laflamme in Main branch]
2020-03-10 14:25:48 -04:00
patrick laflamme
58925c4e1d #jira UE-87927 - Disaster Recovery doesn't restore a crash from a restored session
- Added the ability to copy and restore a live session, preventing the need to archive it in first place, making the server exist fast (releasing the session lock very quickly) before showing the crash UI and before the next Editor instance could starts.

Details:

This bug could manifest if various ways. An issue causing this bug was fixed in 11252374. This bug can also be observed if the crash reporting process doesn't release its lock on the crashed session quickly. Archiving a session may takes several minutes (depending on the session size) and while a session is archiving, its database is locked and cannot be restored until the archiving process complets. When the Editor reboots after a crash, it searches for a session to recover, but skip over any session that is mounted/locked assuming the session is concurrently used by a concurrent Editor process, potentially preventing it from restoring. The optimal way to work around this problem  is to skip the archiving step. Instead, the live session is never archived (saving a copy), which allows the recovery service to shutdown and release the session lock very quickly ensuring that the session will be unlocked when the Editor restarts. On Editor start, it a crashed session is found and the user decides to restore it, the live session is copied into a new live session.

This changelist also affect those other jira in the following ways:

#jira UE-87899 - Disaster recovery prevents showing the crash reporting UI in a timely manner if the session is large
  - This CL changes execution order to shut down the recovery service ASAP to release the lock, but the optimization above make it super fast, so the UI should always be shown in a timely manner.

#jira UE-87927 - Disaster Recovery doesn't restore a crash from a restored session
  - This CL ensures the recovery service release the session lock faster than the next instance of the Editor can start.

#jira UE-87900 - Disaster Recovery stops recording transactions if the UDP transport layer restarts or auto-repair
#jira UE-88517 - Concert Log Spam - (ConcertKeepAlive) discarded
  - This CL fixes an issues with endpoints timeout logic.

#jira UE-81049 - Clean up the DisasterRecovery Intermediate directory
  - This CL added code to clean up the intermediate directory left over by crashed client.

#rb Francis.Hurteau

#ROBOMERGE-SOURCE: CL 11632069 in //UE4/Release-4.25/... via CL 11632084
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v655-11596533)

[CL 11632094 by patrick laflamme in Main branch]
2020-02-26 11:18:30 -05:00
patrick laflamme
806218fcbd #jira UE-85967 - UnrealDisasterRecoveryService character length is long and can easily max out path length
#jira UE-88070 - UnrealDisasterRecoveryService paths are too long
  - Renamed UnrealDisasterRecoveryService as UnrealRecoverySvc
  - Set a ConcertSyncServer ShortName as "CncrtSyncSvr" to ensure shorter build path.

The change saves 29 characters on the offending path. The path before vs the path after:

Engine\Plugins\Developer\Concert\ConcertSync\ConcertSyncServer\Intermediate\Build\Win64\UnrealDisasterRecoveryService\Development\ConcertSyncServer\UnrealDisasterRecoveryService-ConcertSyncServer.lib (Before, 199 chars)
Engine\Plugins\Developer\Concert\ConcertSync\ConcertSyncServer\Intermediate\Build\Win64\UnrealRecoverySvc\Development\CncrtSyncSvr\UnrealRecoverySvc-ConcertSyncServer.lib (After, 170 chars)

#rb Jamie.Dale

Edigrated 11281991 from Dev-VirtualProduction

#ROBOMERGE-SOURCE: CL 11516806 in //UE4/Release-4.25/...
#ROBOMERGE-BOT: RELEASE (Release-4.25 -> Release-4.25Plus) (v654-11333218)

[CL 11516858 by patrick laflamme in 4.25-Plus branch]
2020-02-18 16:17:27 -05:00