Commit Graph

732 Commits

Author SHA1 Message Date
tim smith
8084c71c48 Removed NameToDisplayString port to C# since we don't need to save the generated strings and imply that the C# version will match the C++ version.
#rb self
#preflight 631b7aa7f448dc6e58f417ca

[CL 21926335 by tim smith in ue5-main branch]
2022-09-09 15:40:20 -04:00
Ben Marsh
b8235f49f8 Horde: Improve performance of querying large numbers of commits.
* Tags are now only computed on demand.
* Batching for queries that require describe commands reuses connections and stream metadata between iterations.

#preflight none

[CL 21926162 by Ben Marsh in ue5-main branch]
2022-09-09 15:29:39 -04:00
tim smith
6f2faf9f3d Fixed issue where C# UHT was not catching some blueprint properties contained in editor only sections.
#rb self
#preflight 631b6433a20b67673beb720c

[CL 21924084 by tim smith in ue5-main branch]
2022-09-09 13:30:21 -04:00
Ben Marsh
fd656ae334 Horde: Add tests for schema generation, and fix current serialization issues.
#preflight none

[CL 21920362 by Ben Marsh in ue5-main branch]
2022-09-09 10:28:19 -04:00
Ben Marsh
19020ebe4b Horde: Add commit tags to stream configuration, allowing commits modifying files matching various wildcards to be tagged as different types (eg. code, content, modifies project X, etc...).
#preflight none

[CL 21903605 by Ben Marsh in ue5-main branch]
2022-09-08 17:14:06 -04:00
Ben Marsh
ca48dfabb9 Horde: Refactor Perforce service to use EpicGames.Perforce rather than P4API.NET. New implementation supports connection pooling and asynchronous operation.
#preflight 63121d66ab25bb91f58f42be

[CL 21759888 by Ben Marsh in ue5-main branch]
2022-09-02 11:20:42 -04:00
Tim Smith
5675727bfe Fixed issue where C# UHT was not generating errors with unsupported blueprint member types.
#rb self
#preflight 6310f8ad31667117dfcb32a1

[CL 21744791 by Tim Smith in ue5-main branch]
2022-09-01 14:34:56 -04:00
Ben Marsh
d082dfcc2a EpicGames.Perforce: Use regular command execution flow for logging in.
#preflight none

[CL 21722327 by Ben Marsh in ue5-main branch]
2022-08-31 12:05:09 -04:00
Ben Marsh
31b1359c92 EpicGames.Perforce: Allow passing a stdin prompt response directly into the regular command method, rather than having a special implementation for login commands.
#preflight none

[CL 21721707 by Ben Marsh in ue5-main branch]
2022-08-31 11:36:54 -04:00
Ryan Hummer
1b0163b46c Optimize Horde printing a shelved CL for Preflight by issuing one call to p4 print
Using the wildcard support for p4 print we can print the entire contents of a shelf with one call instead of a call for each file.

Splitting TryPrint*Async into a method that assumes one file in and one result out, and another method that can return multiple results.

#rnx
#jira none
#rb ben.marsh
#preflight n/a

[CL 21706680 by Ryan Hummer in ue5-main branch]
2022-08-30 14:48:22 -04:00
Ben Marsh
8ee9438415 Horde: Fix tests.
#preflight none

[CL 21705550 by Ben Marsh in ue5-main branch]
2022-08-30 13:53:08 -04:00
Ben Marsh
a3fff11a15 Horde: Write file content to a separate blob stream than directory content when replicating Perforce data.
Other changes:

* Allow passing any string prefix for blob names, not just ref names.
* Fix deserialization of blob ids from MongoDB.
* Arbitrary nodes can now be passed in as the root for any refs written using a writer. This allows writing multiple refs using the same data, and makes semantics clearer for serialization.

#preflight none

[CL 21705119 by Ben Marsh in ue5-main branch]
2022-08-30 13:32:34 -04:00
Ben Marsh
95206c3d85 Horde: Misc fixes for bundles.
#preflight none

[CL 21700459 by Ben Marsh in ue5-main branch]
2022-08-30 10:39:01 -04:00
Ben Marsh
80e934e200 Horde: Add log event matcher for XGE cache warnings.
#preflight none

[CL 21700290 by Ben Marsh in ue5-main branch]
2022-08-30 10:28:16 -04:00
Ben Marsh
d0168bb258 Horde: Write memory sequences to storage without copying to a separate buffer first.
#preflight none

[CL 21699562 by Ben Marsh in ue5-main branch]
2022-08-30 09:34:19 -04:00
Ben Marsh
48addbb727 Horde: Support for concurrent writers to bundle store.
Each writer can create any number of child writers. Data in the parent writer will not be flushed until all child writers it depends on have been flushed.

Each writer will output data to different blobs, allowing better control of data locality in output bundles.

#preflight none

[CL 21699421 by Ben Marsh in ue5-main branch]
2022-08-30 09:20:39 -04:00
Joakim Lindqvist
3e75529a4e Horde Storage - Added middleware to suppress certain exceptions that can be thrown by code not under our own stack - this allows us to make sure they are not logged by the unhandled exception logging (so we can log it as a warning rather then a error).
#preflight none

[CL 21697686 by Joakim Lindqvist in ue5-main branch]
2022-08-30 05:27:37 -04:00
Tim Smith
74f0e9e3f4 The code generator no longer modifies the class definitions.
#rb self
#rnx
#preflight 630d03cef92416fb926c0be2

[CL 21685206 by Tim Smith in ue5-main branch]
2022-08-29 14:56:17 -04:00
Ben Marsh
60fb2115fb Horde: Upgrade all NuGet packages to latest.
#preflight 630cf402e1124837752f0cb3

[CL 21682720 by Ben Marsh in ue5-main branch]
2022-08-29 13:34:15 -04:00
tim smith
762e89adfb Fixed issue where in release mode the EpicGames.MsBuild assembly was always being loaded. This causes issues with GetTypes when invoked on all loaded assemblies.
#rb self
#preflight 6308dcd91670d55ad5f8db45

[CL 21678319 by tim smith in ue5-main branch]
2022-08-29 11:27:39 -04:00
Joakim Lindqvist
f14cceba28 Horde Storage - Further improvements to error handling when sends / receives gets aborted / is running slowly.
#preflight none

[CL 21666732 by Joakim Lindqvist in ue5-main branch]
2022-08-29 04:34:39 -04:00
Joakim Lindqvist
11ea6a68fc OidcToken - Fixed issues specific to handle tokens on Mac, which handles cases where the token does not exist better.
Also improved logging when a unknown issue happens.
Lastly the error code returned from the mac process seems to be converted to a unsigned 32 bit so checking for that value as well when checking the exit code that means we should upgrade the process to a interactive login.

#preflight https://horde.devtools.epicgames.com/job/6308e65e2a02fecb6f3cadc5

[CL 21665549 by Joakim Lindqvist in ue5-main branch]
2022-08-29 04:05:26 -04:00
Ben Marsh
a99f50dd82 Horde: Add support for different compressors on bundle data.
#preflight none

[CL 21626671 by Ben Marsh in ue5-main branch]
2022-08-27 16:56:37 -04:00
Ben Marsh
1954a2c519 Horde: Updated blob store API.
* BlobIds now have a fixed structure, consisting of a server id (a list of identifiers separated by colons, indicating topology of the hierarchy) and content id (a globally unique identifier, which may contain path elements). Expectation is that any node in the storage hierarchy can retrieve a blob by using the server id to navigate the hierarchy until reaching a host that can provide the blob.
* Refs are now explicitly mappings from names to blob ids, and can be queried separately to the blob content. Overloads for transferring blob content inline are defined, for stores that choose to store the payload inline as an optimization.
* Ref queries now specify a time parameter, indicating required coherency of any cached values that may be returned without forwarding the request to the root storage node.
* Default implementation of the blob store now uses MongoDB to store refs (ie. name -> blob id mappings).
* Updated existing use cases to use new API and added tests.

#preflight none

[CL 21625328 by Ben Marsh in ue5-main branch]
2022-08-27 16:18:15 -04:00
tim smith
3789d080bb Added support for ": int" size for regular and namespace enums. Only "int" is supported.
#rb henrik.karlsson
#preflight 6307d53b5a76ca27a8a7121c

[CL 21585169 by tim smith in ue5-main branch]
2022-08-26 01:47:13 -04:00