Commit Graph

223 Commits

Author SHA1 Message Date
ben marsh
9bea12b1eb Horde: Missing file.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17665333 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17665355 by ben marsh in ue5-release-engine-test branch]
2021-09-29 14:31:01 -04:00
ben marsh
845384ef5f Horde: Generalize the delegate used to serialize StreamTree objects, to allow serializing directly into existing buffers without constructing intermediate CbObject representations.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17622208 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17622214 by ben marsh in ue5-release-engine-test branch]
2021-09-24 13:12:50 -04:00
ben marsh
12da14a226 Horde: Add utf8 comparer to P4 server info.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17622194 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17622199 by ben marsh in ue5-release-engine-test branch]
2021-09-24 13:10:26 -04:00
ben marsh
d1e117c48c Horde: Fix sub-optimal encoding of workspace snapshots, when the path to an item is the same as the path to its parent folder plus the item name.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17621434 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17621451 by ben marsh in ue5-release-engine-test branch]
2021-09-24 11:01:30 -04:00
jonathan adamczewski
e4bf61f242 EpicGames.Core:
Add a stub for high precision scoped profiler.

#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17614496 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17614517 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-23 17:41:58 -04:00
ben marsh
49d1d9b606 Horde: During a conform, clean all workspaces (from any root directory) before trying to sync anything. Would previously handle each root directory separately.
[FYI] Ryan.Durand

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17613708 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17613721 by ben marsh in ue5-release-engine-test branch]
2021-09-23 16:48:33 -04:00
ben marsh
4f593da441 Horde: Reduce memory usage when capturing workspace (part 2)
* Added UTF8 native version of fstat record to avoid unnecessary conversions
* Avoid conversion to/from UTF8 strings when converting Perforce records into CB objects
* Fixed implicit conversion of string to UTF8 string in argument check
* Converted ViewMap to use UTF8 strings

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17601088 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17601093 by ben marsh in ue5-release-engine-test branch]
2021-09-22 17:34:28 -04:00
ben marsh
3a1f61507c Horde: Reduce memory usage when querying workspace state (pt 1)
* CbWriter instances may now be cleared, and can cache allocated buffers between uses.
* Records may now be returned using IAsyncEnumerable<T> allowing them to be processed as they are received, and removing the need to allocate large numbers of temporary objects.

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17599803 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17599823 by ben marsh in ue5-release-engine-test branch]
2021-09-22 16:11:38 -04:00
jonathan adamczewski
757e12f167 EpicGames.Core: Log.cs
Add annotations for format-style arguments

#jira none
#rb tim.smith

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17594756 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17594759 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-22 08:44:41 -04:00
ben marsh
102f855209 Horde: First version of Perforce metadata mirroring. Replicates the state of each stream into the CAS as a merkle tree, allowing faster metadata updates on clients.
Not yet enabled by default due to memory issues.

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17587591 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17587598 by ben marsh in ue5-release-engine-test branch]
2021-09-21 16:27:14 -04:00
ben marsh
82e9992195 Horde: Improve error messages from Perforce commands.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17570645 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17570650 by ben marsh in ue5-release-engine-test branch]
2021-09-20 10:35:41 -04:00
ben marsh
ac6ba4d10d Horde: Fix tagged output of some Perforce commands (eg. p4 dirs).
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17570617 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17570632 by ben marsh in ue5-release-engine-test branch]
2021-09-20 10:33:37 -04:00
ben marsh
12e3b6a374 Horde: Add a more detailed error return path for failed compute tasks. Task result messages now include a numerical "Outcome" field and string "Detail" field providing additional context surrounding a task that was not executed.
[FYI] Joe.Kirchoff

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17566168 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17566171 by ben marsh in ue5-release-engine-test branch]
2021-09-19 13:45:49 -04:00
ben marsh
91c5f9a2fb Horde: Add missing methods to strongly typed Redis wrappers, and add support for serializing all primitive types.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17564161 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17564165 by ben marsh in ue5-release-engine-test branch]
2021-09-18 15:04:37 -04:00
ben marsh
b7176eb8a0 Horde: Missing file.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17563736 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17563740 by ben marsh in ue5-release-engine-test branch]
2021-09-18 12:27:15 -04:00
ben marsh
51813c04d7 Horde: Change Redis wrapper to a more object-oriented API. Individual data types now include a reference to the database, allowing methods to directly modify their values.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17563734 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17563739 by ben marsh in ue5-release-engine-test branch]
2021-09-18 12:27:08 -04:00
jonathan adamczewski
f54c5b083c BinaryArchive: Add support for reading and writing doubles
#jira none
#trivial

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17544443 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17544451 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-16 17:15:33 -04:00
ben marsh
d340adb9a2 Missing file.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17526547 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17526578 by ben marsh in ue5-release-engine-test branch]
2021-09-15 16:52:09 -04:00
ben marsh
560b46ac72 Horde: Add support for the "p4 dirs" command.
This requires special handling for the native Perforce connection, since it returns information as message records that the client formats as strings through an "Error" object. To work around this, the C++ library converts such messages into stat records that are more easily parsed by C# code.

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17526529 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17526572 by ben marsh in ue5-release-engine-test branch]
2021-09-15 16:51:56 -04:00
ben marsh
76a06e8f41 Horde: Add accessors for string comparison types to perform on Perforce servers, depending on settings returned by the 'info' command.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17526287 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17526304 by ben marsh in ue5-release-engine-test branch]
2021-09-15 16:38:01 -04:00
ben marsh
da7572d05c Horde: Add native implementation of IPerforceConnection.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17526270 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17526276 by ben marsh in ue5-release-engine-test branch]
2021-09-15 16:37:07 -04:00
joe kirchoff
88f763a6d5 ManagedProcess: Remove unnecessary locks from merged stream copy when creating background threads to merge output streams
#preflight 614225ba9bba9a0001980a37
#rb Ben.Marsh
#rnx

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 17525066 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17525086 by joe kirchoff in ue5-release-engine-test branch]
2021-09-15 15:23:12 -04:00
ben marsh
e9ada4239a Horde: Unify capabilities/requirements for agents.
gRPC-style devices are no longer supported (as much as they ever were); instead, each agent supplies a flat list of properties and resources which jobs can consume. Pools can specify conditions to collect related agents together which are evaluated on the list of properties.

Dynamic pools are distinguished from explicit (user-defined) pools, and are updated on the agent along with session updates.

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17486156 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17486162 by ben marsh in ue5-release-engine-test branch]
2021-09-11 12:37:26 -04:00
ben marsh
e496bd5bdf Horde: Missing copyright notice.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17485927 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17485935 by ben marsh in ue5-release-engine-test branch]
2021-09-11 10:30:34 -04:00
ben marsh
65288f328f Horde: Add compact binary and string conversion classes for condition objects, and embed them directly in agent requirements. Simplifies unification of agent specifications.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17484376 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17484385 by ben marsh in ue5-release-engine-test branch]
2021-09-10 19:08:51 -04:00