| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
| |
* fixes misleading server side log message when using `--onhost`
* fixed `--onhost` behaviour in zen (no longer replays twice)
|
| |
|
|
| |
* move buildstorage implementations to zenremotestore lib
* move builds storage to zenremotelib
|
| |
|
| |
* move remoteproject code to remotestorelib
|
| | |
|
| |
|
|
|
| |
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
|
| | |
|
| |
|
| |
Refactor projectstore/httpprojectservice to prepare for move of projectstore to zenstore
|
| |
|
|
|
| |
* Fix handling of oidc-exe-path
The path was only being set if the file DIDN'T exist on the server (along with the warning about it not existing). Now set if it DOES exist, and the warning emitted if it DOESN'T.
|
| |
|
|
|
| |
- Bugfix: Fixed issue where large ops in oplog would fail to read properly
ReplayLogEntries: Fix bug in the case where an op is too big for OpBl…obsBuffer. The OpBufferView needs to be pointed to the temporary buffer.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* convert ProjectStore::GetProjectFiles to not use http return codes
* convert ProjectStore::GetProjectChunkInfos to not use http return codes
* convert ProjectStore::GetChunkInfo to not use http return codes
* convert ProjectStore::GetChunkRange to not use http return codes
* convert ProjectStore::GetChunk to not use http return codes
* convert ProjectStore::PutChunk to not use http return codes
* convert ProjectStore::WriteOplog to not use http return codes
* convert ProjectStore::ReadOplog to not use http return codes
|
| | |
|
| |
|
| |
refactored HttpClient to separate out cpr implementation into separate classes, with an abstract base class to allow plugging in multiple implementations in the future
|
| | |
|
| |
|
| |
- Improvement: Add additional validations when reading disk cache records to get references in GC
|
| | |
|
| |
|
|
| |
- Improvement: Gracefully handle missing chunks when exporting an oplog
- Bugfix: Add object validation when replaying oplog to avoid crash on malformed data
|
| |
|
| |
* allow multiple include/exclude wildcards in zen builds command
|
| |
|
| |
Bugfix: Flush of blockstore file could sometimes cause an error due to a race condition
|
| |
|
| |
When requesting a value via the GetCacheChunks rpc method, if the request specified a raw hash, only return a hit if the raw hash matches what was in the cache.
|
| |
|
|
|
| |
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.
|
| |
|
| |
if two requests for the same logger came in from different threads they could end up creating the same logger twice which causes an exception on registration
|
| | |
|
| |
|
|
| |
detected (#521)
|
| |
|
|
|
|
| |
* fix for invalid regex in HttpBuildStoreService - triggers with most recent MSVC version
* in GcScheduler don't wait for exit signal if exit has already been requested. this caused extended waits for shutdown in some automated tests on very fast machines, possibly also due to some behaviour change in condition_variable
* speculative fix/workaround for issue with TLS teardown on secondary thread while main was tearing down trace
|
| | |
|
| |
|
|
|
| |
* add log warnings when we can't read payloads in cas when we thing we should have them
* fix misleading option help
|
| |
|
|
|
|
| |
terminate calls (#514)
Improvement: Make sure we call the previous terminate handle if present when we intercept terminate calls
Improvement: Avoid allocating memory for call stack in terminate handle and assert callback
|
| |
|
| |
Fixes warning/error introduced with msvc cl 19.38.33145
|
| | |
|
| |
|
|
|
|
| |
- Feature: New `/prj/{project}/{oplog}/rpc` endpoint method `appendops` to send an array of oplog ops and receiving a list of `need` for attachments not present
- Feature: Added `usingtmpfiles` boolean field to `/prj/{project}/{oplog}/rpc` method `putchunks` to be explicit about allowing move of temp attachment files
- Improvement: Added additional validation of compact binary objects when reading from disk/receiving from client
- Improvement: Windows: Added fallback code to use standard `MoveFile` api when rename via `SetFileInformationByHandle` fails in `MoveToFile` (used by filecas)
|
| |\
| |
| | |
Zs/put overwrite policy response
|
| | |
| |
| |
| | |
From review feedback
|
| | |
| |
| |
| | |
When requesting partial records, report back when a record is incomplete via an "Incomplete" array of bools that is a sibling to the "Result" array for batch/rpc operations, or via the HttpResponseCode::PartialContent status code for individual record requests.
|
| | |
| |
| |
| |
| | |
- Ensure that text responses are in a field named "Message"
- Change the record response to be named "Record" instead of "Object"
|
| | |\ |
|
| | | |
| | |
| | |
| | | |
Conflicts are now treated as successes, and we optionally return a Details array instead of an ErrorMessages array. Details are returned for all requests in a batch, or no requests in a batch depending on whether there are any details to be shared about any of the put requests. The details for a conflict include the raw hash and raw size of the item. If the item is a record, we also include the record as an object.
|
| | |/
|/|
| |
| |
| | |
- Improvement: Chunk block generation for `zen oplog-export` and `zen builds upload` command are now limited to max 4000 chunks per block
zen builds list-block testing function to check results for recently used blocks in a context
|
| | |
| |
| |
| | |
found/validated (#507)
|
| | |
| |
| |
| | |
- Improvement: Faster oplog import due to chunk existance check improvement
- Improvement: Cancelling oplog import is now more responsive during initial phase
|
| | |
| |
| |
| | |
command to use unattended mode when launching oidc-token.exe (#506)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Feature: Added `zen oplog-download` command to download the oplog body of a cooked output stored in Cloud DDC
- Oplog source is specified using one of the following options
- `--cloud-url` Cloud artifact URL for oplog
- `--host` Base host to resolve download host from
- `--override-host` Specific host to use without resolve
- `--assume-http2` assume that the builds endpoint is a HTTP/2 endpoint skipping HTTP/1.1 upgrade handshake
- `--namespace` Builds Storage namespace
- `--bucket` Builds Storage bucket
- `--build-id` an Oid in hex form for the source identifier to use
- `--yes` suppress conformation query when doing output of a very large oplog to console
- `--quiet` suppress all non-essential console output
- `--output-path` path to oplog output, extension .json or .cb (compact binary). Default is output to console
- `--system-dir` override default system root path
- Authentication options
- Auth token
- `--access-token` http auth Cloud Storage access token
- `--access-token-env` name of environment variable that holds the Http auth Cloud Storage access token
- `--access-token-path` path to json file that holds the Http auth Cloud Storage access token
- `--oidctoken-exe-path` path to OidcToken executable
- OpenId authentication
- `--openid-provider-name` Open ID provider name
- `--openid-provider-url` Open ID provider url
- `--openid-client-id`Open ID client id
- `--openid-refresh-token` Open ID refresh token
- `--encryption-aes-key` 256 bit AES encryption key for storing OpenID credentials
- `--encryption-aes-iv` 128 bit AES encryption initialization vector for storing OpenID credentials
- OAuth authentication
- `--oauth-url` OAuth provier url
- `--oauth-clientid` OAuth client id
- `--oauth-clientsecret` OAuth client secret
- Bugfix: `zen print` command now properly outputs very large compact binary objects as json to console
|
| |/
|
|
|
|
|
|
|
|
| |
- Improvement: `zen command` help now uses available horizontal space for output
- Improvement: Partial block request analisys has been improved with reduced download size at lower number of requests
- Improvement: Validate that `--zen-cache-host` exists and is responsive before begin used
- Feature: Options `--allow-partial-block-requests` for `zen builds download` command has been augmented with two new modes, `zencacheonly` and `mixed`. Defaults to `mixed`.
- `false` only full block requests allowed
- `mixed` multiple partial block ranges requests per block allowed to zen cache, single partial block range request per block to host
- `zencacheonly` multiple partial block ranges requests per block allowed to zen cache, only full block requests allowed to host
- `true` multiple partial block ranges requests per block allowed to zen cache and host
|
| |
|
| |
* improve command line parsing to automatically remove quotes
|
| |
|
| |
* add --force option to builds download command
|
| |
|
|
|
|
|
| |
* Sorting oplog tree view by size would raise an error
* Updated frontend .zip archive
* Updated changelog
|