| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
likely fall-out from HttpClient refactor. The content type used to be explicit via headers but is now taken from the `IoBuffer`
also fixed issue which meant the original request session ID would also not be propagated as intended
|
| |
|
| |
refactored HttpClient to separate out cpr implementation into separate classes, with an abstract base class to allow plugging in multiple implementations in the future
|
| |
|
|
|
| |
these changes remove cpr from anything which is not `HttpClient` internals.
The goal is to eventually replace cpr with a more direct curl interface to eliminate cpr since it's proven problematic due to their development practices which frequently breaks APIs and prevents us from updating vcpkg. But this PR is limited to refactoring existing cpr code to use `HttpClient` instead.
|
| |
|
|
| |
detected (#521)
|
| |
|
|
| |
command to use unattended mode when launching oidc-token.exe (#506)
|
| |
|
|
|
| |
- Change BadAlloc exceptions in GC to warnings
- Add explict ASSERT exception catch in http plugin request processing
- Make exceptions handled in http request processing to warnings
|
| |
|
| |
- Improvement: Add a new mode to worker thread pools to avoid starvation of workers which could cause long stalls due to other work begin queued up. UE-305498
|
| |
|
| |
- Improvement: Allow large headers support in asio server implementation
|
| |
|
| |
* add validation of compact binary payloads before reading them
|
| |
|
|
|
| |
* clean up trace command line options
explicitly shut down worker pools
* some additional startup trace scopes
|
| |
|
|
| |
- Improvement: Refactored jupiter oplog export code to reuse builds jupiter wrapper classes
- Improvement: If `zen builds`, `zen oplog-import` or `zen oplog-import` command fails due to a http error, the return code for the program will be set to the error/status code
|
| |
|
|
|
|
|
|
|
|
|
| |
- Feature: Added `zen build ls` option to list the content of a build part(s)
- Build source is specified using one of the following options
- `--cloud-url` cloud artifact URL to build
- `--host` or `--override-host`, `--namespace`, `--bucket` and `--buildid`
- `--filestorage`, `--namespace`, `--bucket` and `--buildid`
- `--build-part-name` to specify a particular build part(s) in the build
- `--wildcard` windows style wildcard (using * and ?) to match file paths to include
- `--exclude-wildcard` windows style wildcard (using * and ?) to match file paths to exclude. Applied after --wildcard include filter
- Improvement: Added `--quiet` option to zen `builds` commands to suppress non-essential output
|
| |
|
|
|
|
| |
- Improvement: Safeguard FormatCallstack to not throw exceptions when building the callstack string
- Improvement: Limit thread name length when setting it for debugger use
- Improvemnet: Don't allow assert callbacks to throw exception
- Improvement: When formatting log output for malformed attachments in a package message, allow the string buffer to grow instead of throwing exception
|
| |
|
| |
* fix BufferedReadFileStream calculating buffer end wrong
|
| |
|
| |
* use Oid to generate unique name since std::tmpnam is not good practice
|
| |
|
| |
- Improvement: Add streaming upload from HttpClient to reduce I/O caused by excessive MMap usage
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* use ParallelWork in rpc playback
* use ParallelWork in projectstore
* use ParallelWork in buildstore
* use ParallelWork in cachedisklayer
* use ParallelWork in compactcas
* use ParallelWork in filecas
* don't set abort flag in ParallelWork destructor
* add PrepareFileForScatteredWrite for temp files in httpclient
* Use PrepareFileForScatteredWrite when stream-decompressing files
* be more relaxed when deleting temp files
* allow explicit zen-cache when using direct host url without resolving
* fix lambda capture when writing loose chunks
* no delay when attempting to remove temp files
|
| |
|
|
|
| |
* extend log on failed httpsys response
* fix formatting for "Desired port is in use, retrying"
* add warning log if port is remapped
|
| | |
|
| |
|
| |
* do http client retry on internal error and bad gateway
|
| |
|
|
| |
make plugin loading errors non fatal
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* add more forgiving retries with filesystem
* fall back to FindFirstFile if access prevents us from using GetFileAttributes
* only validate hash if we have a complete payload in http client
* changelog
|
| |
|
| |
- Feature: `zen builds` auth option `--oidctoken-exe-path` to let zen run the OidcToken executable to get and refresh authentication token
|
| |
|
| |
- Bugfix: Long file paths now works correctly on Windows
|
| |
|
|
|
|
| |
- Feature: zenserver: Add command line option `--gc-buildstore-duration-seconds` to control GC life time of build store data
- Improvement: ELF and MachO executable files are no longer chunked
- Improvement: Compress chunks in blocks that encloses a full file (such as small executables)
- Bugfix: Strip path delimiter at end of string in StringToPath
|
| |
|
|
|
|
|
|
|
| |
- **EXPERIMENTAL** `zen builds`
- Feature: `--zen-cache-host` option for `upload` and `download` operations to use a zenserver host `/builds` endpoint for storing build blob and blob metadata
- Feature: New `/builds` endpoint for caching build blobs and blob metadata
- `/builds/{namespace}/{bucket}/{buildid}/blobs/{hash}` `GET` and `PUT` method for storing and fetching blobs
- `/builds/{namespace}/{bucket}/{buildid}/blobs/putBlobMetadata` `POST` method for storing metadata about blobs
- `/builds/{namespace}/{bucket}/{buildid}/blobs/getBlobMetadata` `POST` method for fetching metadata about blobs
- `/builds/{namespace}/{bucket}/{buildid}/blobs/exists` `POST` method for checking existance of blobs
|
| |
|
|
|
| |
- Feature: `zen builds list` command has new options
- `--query-path` - path to a .json (json format) or .cbo (compact binary object format) with the search query to use
- `--result-path` - path to a .json (json format) or .cbo (compact binary object format) to write output result to, if omitted json format will be output to console
|
| |
|
|
|
|
| |
- Improvement: Don't chunk up .mp4 files as they generally won't benefit from deduplication or partial in-place-updates
- Improvement: Emit build name to console output when downloading a build
- Improvement: Added some debug logging
- Bugfix: Logging setup would previously not function correctly when not logging to file
|
| |
|
|
|
| |
- Improvement: Do partial requests of blocks if not all of the block is needed
- Improvement: Better progress/statistics on download
- Bugfix: Ensure that temporary folder for Jupiter downloads exists during verify phase
|
| |
|
|
|
|
| |
* Added EASTL to help with eliminating memory allocations
* Applied EASTL to eliminate memory allocations, primarily by using `fixed_vector` et al to use stack allocations / inline struct allocations
Reduces memory events in traces by close to a factor of 10 in test scenario (starting editor for project F)
|
| |
|
| |
Improvement: When logging HTTP responses, the body is now sanity checked to ensure it is human readable, and the length of the output is capped to prevent inadvertent log bloat
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* work on chunk sequences on download, not paths
* write chunksequences to .tmp file and move when complete
* cleanup
* Added on the fly validation `zen builds download` of files built from smaller chunks as each file is completed
Added `--verify` option to `zen builds upload` to verify all uploaded data once entire upload is complete
Added `--verify` option to `zen builds download` to verify all files in target folder once entire download is complete
Fixed/improved progress updated
Multithreaded part validation
* added rates to Write Chunks task
* b/s -> bits/s
* dont validate partial content as complete payload
* handle legacy c# builds
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add modification tick to filesystem traversal
* add ShowDetails option to ProgressBar
* log callstack if we terminate process
* handle chunking if MaxSize > 1MB
* BasicFile write helpers and WriteToTempFile simplifications
* bugfix for CompositeBuffer::IterateRange when using DecompressToComposite for actually comrpessed data
revert of earlier optimization
* faster compress/decompress for large disk-based files
* enable progress feedback in IoHash::HashBuffer
* add payload validation in HttpClient::Get
* fix range requests (range is including end byte)
* remove BuildPartId for blob/block related operations in builds api
|
| |
|
|
|
| |
* multipart upload/download iterface in jupiter
* review fixes
|
| |
|
|
|
|
|
| |
* cleanup jupiter
* move jupiter files to separate folder
* CloudCache -> Jupiter
* split up jupiter files
* kill redundant JupiterAccessTokenProvider
|
| |
|
|
|
|
| |
move jupiter.h/cpp -> zenutil
move packageformat.h/.cpp -> zenhttp
zenutil now depends on zenhttp instead of the inverse
|
| |
|
|
| |
* Suppress progress report callback if oplog import detects oplog with zero ops
* output error code when catching system errors
|
| |
|
| |
This change adds more instrumentation for memory tracking, so that as little as possible comes through as Unknown in Insights analysis.
|
| |
|
|
|
| |
* added LLM tag to properly tag RPC allocations
* annotated some more httpsys functions with memory tags
* only emit memory scope events if the active tag is different from the new tag
|
| |
|
|
|
| |
* improved payload validation in HttpClient
* separate error messages for FromCompressed and Decompress
* refactor so we can do retry if decompression of block fails
|
| |
|
|
| |
* fix so we can replace an openid provider that was read from disk file
* fix OidcClient lifetime issues in authmg
|
| |
|
| |
some fixes to make everything build using unity build mode. Mostly moved code from anonymous namespaces into local impl namespace to avoid ambiguity in name resolution.
|
| |
|
|
|
| |
* added FLLMTag which can be used to register memory tags outside of core
* changed `UE_MEMSCOPE` -> `ZEN_MEMSCOPE` for consistency
* instrumented some subsystems with dynamic tags
|
| |
|
|
|
|
| |
* Make sure we don't throw exception from worker thread
* secure async project flush
* secure workspaces
* spelling
|
| |
|
| |
if response payload does not validate properly do a retry if applicable
|
| |
|
|
|
|
|
| |
- Improvement: Reworked workspace shares to be more secure. Workspaces and workspace shares can only be created using the `zen workspace` command, the http endpoint is disabled unless zenserver is started with the `--workspaces-allow-changes` option enabled.
- Each workspace are now configured via a `zenworkspaceconfig.json` file in the root of each workspace
- A workspace can allow shares to be created via the http interface if the workspace is created with the `--allow-share-create-from-http` option enabled
- A new http endpoint at `/ws` - issuing a `Get` operation will get you a list of workspaces
- A new http endpoint at `/ws/refresh` - issuing a `Get` will make zenserver scan for edits in workspaces and workspace shares
|
| |
|
| |
* remove PathFromHandle that throws to give better context on failures
|