| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
* 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)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Feature: **EXPERIMENTAL** New `zen builds` command to list, upload and download folders to Cloud Build API
- `builds list` list available builds (**INCOMPLETE - FILTERING MISSING**)
- `builds upload` upload a folder to Cloud Build API
- `--local-path` source folder to upload
- `--create-build` creates a new parent build object (using the object id), if omitted a parent build must exist and `--build-id` must be given
- `--build-id` an Oid in hex form for the Build identifier to use - omit to have the id auto generated
- `--build-part-id` and Oid in hex form for the Build Part identifier for the folder - omit to have the id auto generated
- `--build-part-name` name of the build part - if omitted the name of the leaf folder name give in `--local-path`
- `--metadata-path` path to a json formatted file with meta data information about the build. Meta-data must be provided if `--create-build` is set
- `--metadata` key-value pairs separated by ';' with build meta data for the build. (key1=value1;key2=value2). Meta-data must be provided if `--create-build` is set
- `--clean` ignore any existing blocks of chunk data and upload a fresh set of blocks
- `--allow-multipart` enable usage of multi-part http upload requests
- `--manifest-path` path to text file listing files to include in upload. Exclude to upload everything in `--local-path`
- `builds download` download a folder from Cloud Build API (**INCOMPLETE - WILL WIPE UNTRACKED DATA FROM TARGET FOLDER**)
- `--local-path` target folder to download to
- `--build-id` an Oid in hex form for the Build identifier to use
- `--build-part-id` a comma separated list of Oid in hex for the build part identifier(s) to download - mutually exclusive to `--build-part-name`
- `--build-part-name` a comma separated list of names for the build part(s) to download - if omitted the name of the leaf folder name give in `--local-path`
- `--clean` deletes all data in target folder before downloading (NON-CLEAN IS NOT IMPLEMENTED YET)
- `--allow-multipart` enable usage of multi-part http download reqeusts
- `builds diff` download a folder from Cloud Build API
- `--local-path` target folder to download to
- `--compare-path` folder to compare target with
- `--only-chunked` compare only files that would be chunked
- `builds fetch-blob` fetch and validate a blob from remote store
- `--build-id` an Oid in hex form for the Build identifier to use
- `--blob-hash` an IoHash in hex form identifying the blob to download
- `builds validate part` fetch a build part and validate all referenced attachments
- `--build-id` an Oid in hex form for the Build identifier to use
- `--build-part-id` an Oid in hex for the build part identifier to validate - mutually exclusive to `--build-part-name`
- `--build-part-name` a name for the build part to validate - mutually exclusive to `--build-part-id`
- `builds test` a series of operation that uploads, downloads and test various aspects of incremental operations
- `--local-path` source folder to upload
- Options for Cloud Build API remote store (`list`, `upload`, `download`, `fetch-blob`, `validate-part`)
- `--url` Cloud Builds URL
- `--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
- Authentication options for Cloud Build API
- 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
- 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
- Options for file based remote store used for for testing purposes (`list`, `upload`, `download`, `fetch-blob`, `validate-part`, `test`)
- `--storage-path` path to folder to store builds data
- `--json-metadata` enable json output in store for all compact binary objects (off by default)
- Output options for all builds commands
- `--plain-progress` use plain line-by-line progress output
- `--verbose`
|
| | |
|
| |
|
|
|
|
| |
add DirectoryContent::IncludeFileSizes
add DirectoryContent::IncludeAttributes
add multithreaded GetDirectoryContent
use multithreaded GetDirectoryContent in workspace folder scanning
|
| |
|
|
|
|
| |
move jupiter.h/cpp -> zenutil
move packageformat.h/.cpp -> zenhttp
zenutil now depends on zenhttp instead of the inverse
|
| |
|
|
| |
call (#269)
|
| |
|
| |
This change adds more instrumentation for memory tracking, so that as little as possible comes through as Unknown in Insights analysis.
|
| |
|
|
| |
also added a test case to exercise the logic
|
| |
|
|
| |
the old version is still present for now, with a _deprecated suffix
|
| | |
|
| |
|
| |
Feature: zen command oplog-export and oplog-import now supports --builds remote target using the Jupiter builds API
|
| |
|
| |
* reduce length of oplog import/export job name
|
| |
|
|
| |
* move openprocess cache to central location
* enable openprocesscache in projectstore so "getchunks" can send filehandles when requested
|
| |
|
| |
Feature: Project store "getchunks" rpc call /prj/{project}/oplog/{log}/rpc extended to accept both CAS (RawHash) and Id (Oid) identifiers as well as partial ranges
|
| |
|
|
| |
* don't allow compact in time critical oplog calls
* bump small chunk size limit when doing iteratechunks
|
| |
|
|
|
|
| |
* Make sure we don't throw exception from worker thread
* secure async project flush
* secure workspaces
* spelling
|
| |
|
| |
* when reading paths for oplog index, make sure we don't point our string view to potentially stale memory
|
| | |
|
| | |
|
| |
|
|
| |
* snapshot test
* use proper IoBuffer constructor to take handle ownership
|
| |
|
|
| |
* store inlined chunk as temp files and store to Cid after oplog iteration is complete and ops updated
* make sure we can get to the payload when doing `prep` for new ops
|
| |
|
| |
* don't provide size if compressed buffer validation fails
|
| |
|
|
|
|
| |
* Allow caller to control threshold for bulk-loading chunks in IterateChunks
* use smaller batch chunk reading for /fileinfos and /chunkinfos as we do not intend to read the payload
* use smaller batch read buffer when just querying for size of attachments
|
| |
|
|
|
|
| |
- Don't add RawSize and Size in ProjectStore::GetProjectFiles response if we can't get the payload
- Use validation of payload size/existance in all chunk fetch operations in file cas
- In project store oplog validate, make sure we can reach all the payloads
- Add threading to oplog validate request
|
| |
|
|
|
|
| |
- Added option gc-validation to zenserver that does a check for missing references in all oplog post full GC. Enabled by default.
- Feature: Added option gc-validation to zen gc command to control reference validation. Enabled by default.
- Added more details in post GC log.
- Fixed race condition in oplog writes which could cause used attachments to be incorrectly removed by GC
|
| |
|
| |
* make sure we track added attachments properly in oplogs
|
| |
|
|
| |
Nicer progress bar during oplog import/export
Verify that oplog has not been deleted from disk behind our back
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* MSVC's std::fs::path doesn't like appending '/' separated path components
* Redirect '/dashboard' to '/dashboard/'
* Missed a few copyright headers
* Moved unescaped logo somewhere more suitable
* More robust catching and displaying of errors
* No need for the guard now or for waiting
* Formal access to a component's style
* Style tables explicitly without instead of via a CSS variable
* Highlight a row under the cursor to guide user's eye
* Not using css_var() so it was removed
* Add more detail to a project's list of oplogs
* Disabled test page's CbObject testing
* Consider all fields ending in "importedpackageids" as dependencies
* Don't wrap sector headers
* Package ids were derived with endianess back to front
* Moved oplog marker column further left
* Adopt a vararg-style to Table.add_row() for cell contents
* List and hotlink oplog entries' package data
* Modest control over how a table's columns are arranged
* Added tables to test column spacing
* Keep stat filter input box correctly up to date
* A clang-format run
* Updated html.zip
* validate found oplog directories when doing discover pass
---------
Co-authored-by: Dan Engelbrecht <[email protected]>
|
| |
|
|
| |
Add ability to read the oplog's ReferencedSet, as written by the cooker, from the ReferencedSet op. Filter oplog entries requests by the ReferencedSet, if trim_by_referencedset parameter is present.. Add -trim=true/false parameter to oplog-mirror command, default to true, to request the trimmed/not trimmed oplog.
Helper functions: Add paging to IterateOpLogWithKey. Add unit tests for IterateOpLog functions. Move OpKeyStringAsOid from httpprojectstore into projectstore.
|
| |
|
|
|
| |
* kill gc v1
* block use of gc v1 from zen command line
* warn and flip to gcv2 if --gc-v2=false is specified for zenserver
|
| |
|
| |
* zen command - add options to control meta data cache when triggering gc
|
| |
|
|
|
| |
Added option `gc-attachment-passes` to zenserver
Cleaned up GCv2 start and stop logs and added identifier to easily find matching start and end of a GC pass in log file
Fixed project store not properly sorting references found during lock phase
|
| |
|
|
|
| |
* optimize IoHash and OId comparisions
* refactor filtering of unused references
* add attachment filtering to gc
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
fix oplog state check
fix wipe of oplog storage + meta only on invalid oplog
handle vanishing oplog during gc
|
| | |
|
| |
|
| |
* clean up logging
|
| |
|
| |
* fixed parsing and added extra validation of oplog index snapshot
|
| | |
|
| |
|
| |
- Improvement: Move GC logging in callback functions into "gc" context
|
| |
|
| |
- Improvement: Don't keep all oplogs open after GC, close them when references are fetched unless they are open by client
|
| |
|
| |
- Feature: Added project store oplog index snapshots for faster opening of oplog - opening oplogs are roughly 10x faster
|
| |
|
|
| |
- Feature: Added option `--gc-cache-attachment-store` which caches referenced attachments in cache records on disk for faster GC - default is `false`
- Feature: Added option `--gc-projectstore-attachment-store` which caches referenced attachments in project store oplogs on disk for faster GC - default is `false`
|