aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* updated chunking strategy (#589)Dan Engelbrecht2025-10-209-421/+666
| | | | | | | | | | - Improvement: `zen builds`now split large files that are compress only into 64 MB chunks to avoiding very large files in Cloud Storage - Improvement: `zen builds` now treats `.msixvc` files as non-compressable Moved and cleaned up compactbinary_helpers functions Tweaked fixed chunking implementation for better performance Refactored so we have one list of "non-compressable" extensions Implemented new `StandardChunkingStrategy` and move the two existing to hidden legacy namespace Added `FilteredDownloadedBytesPerSecond.Start();` call that got lost during previous refactoring
* fix gc state switching (#588)Dan Engelbrecht2025-10-171-40/+38
| | | * fix state issue in GC thread where shutting down gc did not always block gc from running
* add missing return statements for successful execution of zen workspace cmd ↵Dan Engelbrecht2025-10-171-3/+1
| | | | (#587)
* add ability to abort http requests (#586)Dan Engelbrecht2025-10-176-29/+79
| | | * add abort-check function to httpclient
* exclude .sym and .psym (#585)Dan Engelbrecht2025-10-172-15/+47
| | | | | * exclude .sym and .psym * add more text file types to list of extensions to exclude from chunking * use hash set for extensions when checking for chunking strategy
* clean up http response formatters (#584)Dan Engelbrecht2025-10-163-50/+61
| | | * remove use of 'error:' in zen output which triggers Horde CI
* missing update of m_DiskStats.WriteByteCount in WriteSequenceChunkToCache (#583)Dan Engelbrecht2025-10-161-13/+3
|
* builds download progress include validate (#582)Dan Engelbrecht2025-10-163-39/+90
| | | * take validation into account for progress feedback when downloading builds
* fix log progress quotes (#580)Dan Engelbrecht2025-10-164-15/+58
| | | | * add quotes to message in log-progress mode * improved log progress for builds upload and download
* refactor builds cmd part4 (#579)Dan Engelbrecht2025-10-162-740/+804
| | | * move lambdas to class functions
* move builds state functions to buildsavedstate.h/cpp (#577)Dan Engelbrecht2025-10-156-625/+604
|
* added separate xmake.lua for thirdparty (#578)Stefan Boberg2025-10-151-23/+7
| | | | | Moves out third-party stuff from zencore Establishes new pattern for incorporating thirdparty code. The integration is cleaner, clearer and also surfaces the code in the generated .sln
* move file i/o related files to separate file and remove duplicated code (#576)Dan Engelbrecht2025-10-156-909/+908
|
* restructured zenserver configuration (#575)Stefan Boberg2025-10-1513-210/+317
| | | this breaks out the configuration logic to allow multiple applications to share common configuration and initialization logic whilst customizing chosen aspects of the process
* refactor builds cmd part3 (#573)Dan Engelbrecht2025-10-143-661/+649
| | | | * move lambdas to member functions * add BuildsOperationValidateBuildPart
* refactor builds cmd part2 (#572)Dan Engelbrecht2025-10-148-2726/+2982
| | | | | * fix metadata info in filebuildstorage GetBuild * move MakeSafeAbsolutePathÍnPlace to filesystem.h/cpp * add BuildsOperationUploadFolder op moving code from builds_cmd.cpp
* move all storage-related services into storage tree (#571)Stefan Boberg2025-10-1432-44/+31
| | | | | | * move all storage-related services into storage tree * move config into config/ * also move admin service into storage since it mostly has storage related functionality * header consolidation
* make asiohttp work without IPv6 (#562)Stefan Boberg2025-10-131-49/+225
| | | this change makes it possible to use zenserver on hosts where IPv6 has been disabled
* split storage config from base config (#570)Stefan Boberg2025-10-136-1208/+1355
| | | | | this change splits the configuration logic into a base part and a storage server part manually tested with shared server config file
* extract storage server into separate source files (#569)Stefan Boberg2025-10-135-1185/+1236
| | | | this change moves common base service code into `zenserver.(cpp|h)` and storage server code into `zenstorageserver.(cpp|h)` to more clearly separate concerns but also to make way for another service
* refactor builds cmd (#566)Dan Engelbrecht2025-10-138-4459/+5414
| | | Move builds download code from builds_cmd.cpp to remotestorelib
* move service common code into base class (#567)Stefan Boberg2025-10-135-499/+626
| | | | | Separates storage server code and generic server code into two classes. This is a change to prepare for different services to be implemented using the same framework, into the same executable
* hide http.sys options when unavailable (#568)Stefan Boberg2025-10-133-7/+16
|
* block reference couting copy support windows (#564)Dan Engelbrecht2025-10-114-67/+475
| | | | - Improvement: On Windows file systems that allow block reference counting we use it where possible to speed up copy of data during `zen builds download` operations - Enabled by default, disable with `--allow-file-clone=false`
* add ability to limit concurrency (#565)Stefan Boberg2025-10-1020-74/+128
| | | | | | | | | | | | effective concurrency in zenserver can be limited via the `--corelimit=<N>` option on the command line. Any value passed in here will be used instead of the return value from `std::thread::hardware_concurrency()` if it is lower. * added --corelimit option to zenserver * made sure thread pools are configured lazily and not during global init * added log output indicating effective and HW concurrency * added change log entry * removed debug logging from ZenEntryPoint::Run() also removed main thread naming on Linux since it makes the output from `top` and similar tools confusing (it shows `main` instead of `zenserver`)
* shorten thread pool names for Linux which has a limit of 15 characters (#563)Stefan Boberg2025-10-082-10/+10
| | | without this change we just get a whole bunch of threads named "main" or "zenserver" depending on timing
* executable/version/pid log at command startup cleaned up (#557)Dan Engelbrecht2025-10-064-20/+18
|
* fix missing chunk in block after gc (#560)Dan Engelbrecht2025-10-061-1/+3
| | | * make sure we use aligned write pos in blockstore compact when checking target block size
* changed std::vector<bool> to std::vector<uint8_t> to avoid threading issues ↵Stefan Boberg2025-10-061-6/+7
| | | | (#561)
* fixed issue in compactcas.restart test due to std::vector<bool> (#559)Stefan Boberg2025-10-061-2/+5
| | | `std::vector<bool>` is a special container since it bit packs the values rather than just using an array of booleans. This means that updating it on multiple threads simultaneously is dangerous
* added Hidden option to oidctoken creation with oidc token exe (#556)Dan Engelbrecht2025-10-0611-19/+47
|
* speed up tests (#555)Dan Engelbrecht2025-10-0610-179/+245
| | | | | | | | | | | | * faster FileSystemTraversal test * faster jobqueue test * faster NamedEvent test * faster cache tests * faster basic http tests * faster blockstore test * faster cache store tests * faster compactcas tests * more responsive zenserver launch * tweak worker pool sizes in tests
* fix link error with operator new (#553)Stefan Boberg2025-10-042-23/+36
|
* move rpcrecorder out from cache subfolder (#552)Dan Engelbrecht2025-10-035-4/+4
|
* cacherequests helpers test only (#551)Dan Engelbrecht2025-10-0322-392/+460
| | | | * don't use cacherequests utils in cache_cmd.cpp * make zenutil/cacherequests code into test code helpers only
* zenutil cleanup (#550)Dan Engelbrecht2025-10-038-6/+8
| | | | * move referencemetadata to zenstore * rename zenutil/windows/service to windowsservice
* move zen vfs implementation to zenstore (#549)Dan Engelbrecht2025-10-037-93/+45
| | | * move zen vfs implementation to zenstore
* fix missing chunk (#548)Dan Engelbrecht2025-10-031-2/+12
| | | | * fix race condition where BlockStoreFile::m_CachedFileSize may be reset between check and get in FileSize()
* remove zenutil dependency in zenremotestore (#547)Dan Engelbrecht2025-10-0336-66/+98
| | | | | | | | | * remove dependency to zenutil/workerpools.h from remoteprojectstore.cpp * remove dependency to zenutil/workerpools.h from buildstoragecache.cpp * remove unneded include * move jupiter helpers to zenremotestore * move parallelwork to zencore * remove zenutil dependency from zenremotestore * clean up test project dependencies - use indirect dependencies
* move chunking code to zenremotestore lib (#545)Dan Engelbrecht2025-10-0319-47/+86
|
* cache RPC replay fixes (minor) (#544)Stefan Boberg2025-10-032-1/+10
| | | | | * fixes misleading server side log message when using `--onhost` * fixed `--onhost` behaviour in zen (no longer replays twice)
* move zenutil builds code to zenremotestore (#543)Dan Engelbrecht2025-10-0314-14/+20
| | | | * move buildstorage implementations to zenremotestore lib * move builds storage to zenremotelib
* move remoteproject to remotestorelib (#542)Dan Engelbrecht2025-10-0314-23/+18
| | | * move remoteproject code to remotestorelib
* move projectstore to zenstore (#541)Dan Engelbrecht2025-10-0211-12/+10
|
* fix for RPC replay issue (wrong content-type) (#536)Stefan Boberg2025-10-024-28/+28
| | | | | 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
* add zenremotestore lib (#540)Dan Engelbrecht2025-10-025-0/+91
|
* projectstore refactor phase 2 (#539)Dan Engelbrecht2025-10-028-1681/+1524
| | | Refactor projectstore/httpprojectservice to prepare for move of projectstore to zenstore
* Zs/OIDC exe path handling (#538)Zousar Shaker2025-10-021-4/+10
| | | | | * 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.
* Fix bug in ReplayLogEntries for large op blobs (#537)Matt Peters2025-10-011-0/+1
| | | | | - 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.
* skip dropped oplogs in ScanForOplogs() (#534)Dan Engelbrecht2025-09-301-0/+5
|