aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.cpp
Commit message (Collapse)AuthorAgeFilesLines
* revert Bucket - Key parameter changeDan Engelbrecht2022-05-121-2/+1
|
* cleanupDan Engelbrecht2022-05-111-26/+26
|
* parameterize namespace for upstream (first hack)Dan Engelbrecht2022-05-111-89/+151
|
* reverted unnecessary changesDan Engelbrecht2022-05-051-2/+2
|
* cleanup and review feedbackDan Engelbrecht2022-05-051-18/+24
|
* cleanupDan Engelbrecht2022-05-041-7/+6
|
* Add namespacecachestore layer to allow multiple structured cache namespacesDan Engelbrecht2022-05-041-24/+26
|
* mac compilation fixDan Engelbrecht2022-04-291-1/+1
|
* Use GetCacheValues when checking upstream to reduce number of calls to upstreamDan Engelbrecht2022-04-261-47/+101
| | | | Added some timing info to debug logs
* Value propagation fix - Read/Write ValueAPI as CompressedBinary type when ↵mattpetersepic2022-02-181-27/+44
| | | | | | writing to zen and horde upstreams. Return failure from HandleGetCacheRecord if the requested type does not match the cachetype. (#55) * Fix bug with getting values PUT to Jupiter as CompressedBinary. When getting CompressedBinary records from Jupiter, they are expected to now be a record with a reference to the compact binary. This has to be accounted for when performing upstream GETs. * HandleGetCacheRecord: avoid crashing on invalid type, and avoid sending back data that doesn't match the AcceptType.
* Fixed "Record* Record;" non-conformant compile errors from GCCMartin Ridgers2022-02-111-10/+10
|
* Merge pull request #52 from EpicGames/ValuePropagationFixzousar2022-02-091-1/+1
|\ | | | | Change Value propagation to Zen or Jupiter
| * Change Value propagation to Zen or Jupiterzousar2022-02-081-1/+1
| | | | | | | | This change ensures we retain the right content type of kCompressedBinary when propagating values from Zen->UpstreamZen. This is done via an RPC that posts a CbPackage. Furthermore when propagating from Zen->Jupiter, it composes its own referencing CbObject for them instead of sending a octet content type and Jupiter defining the referencing CbObject. When fetching Values from Jupiter, this new composed CbObject is still interpreted correctly by Zen.
* | Simplify HandleRpcGetCacheChunks (#53)mattpetersepic2022-02-091-260/+292
| | | | | | Refactor HandleRpcGetCacheChunks to reduce complexity. Port CacheStore tests from Unreal.
* | Remove the backwards compatibility for the Zen CachePolicy changes no… (#49)mattpetersepic2022-02-081-214/+32
|/ | | Remove the backwards compatibility for the Zen CachePolicy changes now that there has been enough time for all internal users of the old protocol to update.
* Cache policy support (#47)mattpetersepic2022-02-011-217/+953
| | | | | | | | Add HandleRpc methods for the remaining ICacheStore requests from unreal: PutCacheValues/GetCacheValues. We now have batched versions for PutCacheRecords,GetCacheRecords,PutCacheValues,GetCacheValues,GetCacheChunks. Add support for CachePolicy flags to all of these batched methods. * Add Batched PutCacheValues/GetCacheValues. Rename old GetCacheValues to GetCacheChunks. * HandleRpcGetCacheRecords: Receive a CacheRecordPolicy with each key, and skipdata on attachments we already have. * Changes to CachePolicy copied from Release-5.0 depot. Change serialization to use the key BasePolicy instead of DefaultValuePolicy. * GetChunks: Read CacheRecords from remote if necessary to find ContentId. Implement QueryLocal, StoreLocal, and SkipData.
* Merge branch 'main' of https://github.com/EpicGames/zenStefan Boberg2022-01-281-154/+406
|\
| * Compile fixMartin Ridgers2022-01-281-1/+0
| |
| * Rename Paylod to Value to match the client side: missing file from previous ↵Matt Peters2022-01-271-1/+1
| | | | | | | | commit.
| * Rename Paylod to Value to match the client side. Rename PayloadId to ↵mattpetersepic2022-01-271-47/+52
| | | | | | | | ValueContentId where its a hash instead of an oid.
| * Add batched CacheRecord put rpc (#38)mattpetersepic2022-01-271-17/+178
| | | | | | * Add batched CacheRecord put rpc
| * Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords (#41)mattpetersepic2022-01-261-51/+103
| | | | | | * Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords.
| * Implement SkipData,QueryLocal,StoreLocal for GET-verb CacheGet requests (#39)mattpetersepic2022-01-261-40/+75
| | | | | | * Implement SkipData,QueryLocal,StoreLocal for GET-verb CacheGet requests
* | Structured cache PUTs now preserve content type for binary and compressed binaryStefan Boberg2022-01-281-2/+2
|/
* Cachepolicy (#36)mattpetersepic2022-01-251-167/+130
| | | | | | | | | | | | | | | | | * Copy CachePolicy implementation from UE5/Release-5.0. Add backwards compatability for clients and upstreams that are using the old protocol. * Add RefPtr templated move operator and constructor, so that RefPtr<const Foo*> A = std::move(RefPtr<Foo*>()) will do a move. * Fix broken CachePolicy tests and add tests for new Save/Load. * Remove TODO comments * CachePolicy Save/Load Fixes from codereview * Fix comment to match code change. * Remove backwards compatibility for CachePolicy change. Convert policy string tokens to PascalCase. Fix tests for new policy text. Change ParseCachePolicy to assert string is non-empty and always succeed. * Fix release build: use ZEN_WITH_TESTS define
* Refactored upstream cache to better handle different states in prep for ↵Per Larsson2022-01-241-29/+22
| | | | dynamic auth tokens.
* Support chunk requests with no ValueId, and interpret them as requested for ↵mattpetersepic2022-01-171-22/+33
| | | | values put with the PutValue API, which sends a package with RawHash and RawSize on the root object. (#35)
* Handle PartialOnError cache policy when using z$ rest endpoint.Per Larsson2022-01-121-63/+71
|
* Fixed missing content type when storing cache values.Per Larsson2022-01-111-7/+7
|
* LLVM-12 C++ lib's emplace_back() doesn't like classes all that muchMartin Ridgers2022-01-101-1/+4
|
* Fixed unused-lambda-capture compile errorsMartin Ridgers2022-01-101-3/+3
|
* Removed ZEN_UNUSED() statement that is unnecessaryMartin Ridgers2022-01-101-1/+0
|
* Compiler support for C++20's using-enum is wildly incompleteMartin Ridgers2022-01-101-18/+10
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-101-4/+0
|
* Allow for "Values" member of structured cache records that is equivalent to ↵Zousar Shaker2022-01-041-0/+11
| | | | "Attachments".
* Added trace scopes.Per Larsson2021-12-151-0/+5
|
* Commented out unused local variablesMartin Ridgers2021-12-151-2/+2
|
* Merged main.Per Larsson2021-12-141-19/+20
|\
| * Fixed unused variable warningsMartin Ridgers2021-11-151-2/+2
| |
| * GCC does not like CacheKey member being named the same as its typeMartin Ridgers2021-11-151-11/+11
| |
| * Merged mainMartin Ridgers2021-11-151-15/+35
| |\
| * \ Merged mainMartin Ridgers2021-11-151-163/+459
| |\ \
| * | | Unused variables fixMartin Ridgers2021-11-021-11/+14
| | | |
| * | | CAS.cpp/h -> cas.cpp/h to keep Zen's file casing consistentMartin Ridgers2021-10-291-1/+1
| | | |
* | | | Fixed bug in z$ service returning partial cache records and enable small ↵Per Larsson2021-12-141-9/+19
| | | | | | | | | | | | | | | | object GC by default.
* | | | Added size to GcStorage.Per Larsson2021-12-101-2/+2
| | | |
* | | | Added naive container CAS GC support.Per Larsson2021-12-011-1/+0
| | | |
* | | | Added CacheStore and CAS store sizes to status endpoint.Per Larsson2021-11-301-0/+18
| | | |
* | | | merge from mainStefan Boberg2021-11-181-163/+479
|\ \ \ \ | | |_|/ | |/| |
| * | | Handle 'partial on error' cache policy.Per Larsson2021-11-151-15/+35
| | |/ | |/|