aboutsummaryrefslogtreecommitdiff
path: root/zenserver/upstream/upstreamcache.cpp
Commit message (Collapse)AuthorAgeFilesLines
* harmonize ZenUpstreamEndpoint::PutCacheRecord with ↵de/reduce-upstream-apiDan Engelbrecht2022-09-161-46/+22
| | | | JupiterUpstreamEndpoint::PutCacheRecord
* fix log messageDan Engelbrecht2022-09-151-1/+1
|
* Adjust errors vs warnings messages (#160)Dan Engelbrecht2022-09-081-20/+20
| | | | * demote a number of ZEN_ERROR to ZEN_WARN * changelog
* Added CloudCacheSession::GetInlineBlob to properly get CacheValues (#159)Dan Engelbrecht2022-09-071-4/+24
| | | | | * Added CloudCacheSession::GetInlineBlob to properly get CacheValues from Horde Issue #UE-162151 * validate uncompressed binary from Horde "application/x-jupiter-inline" response
* Implement proper GetCacheValues upstream (#155)Dan Engelbrecht2022-09-061-14/+235
| | | | * Implement proper GetCacheValues upstream * changelog
* remove legacy derived data interface for Jupiter (#152)Dan Engelbrecht2022-08-311-20/+6
| | | * remove legacy derived data interface for Jupiter
* De/fix crash on non responding upstream (#145)Dan Engelbrecht2022-08-191-13/+47
| | | * Fix ZenStructuredCacheClient lifetime issues
* Make cas storage an hidden implementation detail of CidStore (#130)v0.1.4-pre6v0.1.4-pre5Dan Engelbrecht2022-06-171-1/+0
| | | | | | | | | | | | | | | | | | - Bumped ZEN_SCHEMA_VERSION - CasStore no longer a public API, it is hidden behind CidStore - Moved cas.h from public header folder - CidStore no longer maps from Cid -> Cas, we store entries in Cas under RawHash - CasStore now decompresses data to validate content (matching against RawHash) - CasChunkSet renames to HashKeySet and put in separate header/cpp file - Disabled "Chunk" command for now as it relied on CAS being exposed as a service - Changed CAS http service to Cid http server - Moved "Run" command completely inside ZEN_WITH_EXEC_SERVICES define - Removed "cas.basic" test - Uncommented ".exec.basic" test and added return-skip at start of test - Moved ScrubContext to separate header file - Renamed CasGC to GcManager - Cleaned up configuration passing in cas store classes - Removed CAS stuff from GcContext and clarified naming in class - Remove migration code
* Keep Namespace out of CacheKey and store it on request levelDan Engelbrecht2022-05-191-36/+67
| | | | | RPC requests now has a Namespace field under Params instead of one Namespace per cache key Fall back to legacy upstream HTTP URI format if default namespace is requested
* string_view vs string lifetime fixDan Engelbrecht2022-05-121-2/+2
|
* Use configured namespace in Jupiter if not explicit namespace is givenDan Engelbrecht2022-05-111-58/+62
| | | | | DdcNamespace -> DefaultDdcNamespace BlobStoreNamespace -> DefaultBlobStoreNamespace
* parameterize namespace for upstream (first hack)Dan Engelbrecht2022-05-111-18/+48
|
* cleanup and review feedbackDan Engelbrecht2022-05-051-1/+1
|
* cleanupDan Engelbrecht2022-05-041-4/+3
|
* Add namespacecachestore layer to allow multiple structured cache namespacesDan Engelbrecht2022-05-041-4/+5
|
* Reduce risk of reallocating backing std::vector in CbWriter::AddBinaryDan Engelbrecht2022-04-281-1/+1
| | | | | Shard up g_MappingLock in IoBufferExtendedCore::Materialize() to reduce contention during high load Don't queue upstream cache records if we don't have any upstreams
* Value propagation fix - Read/Write ValueAPI as CompressedBinary type when ↵mattpetersepic2022-02-181-0/+37
| | | | | | 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.
* Merge pull request #52 from EpicGames/ValuePropagationFixzousar2022-02-091-101/+196
|\ | | | | Change Value propagation to Zen or Jupiter
| * prepare_commit to fix formattingzousar2022-02-091-44/+46
| |
| * Change Value propagation to Zen or Jupiterzousar2022-02-081-105/+198
| | | | | | | | 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.
* | Remove the backwards compatibility for the Zen CachePolicy changes no… (#49)mattpetersepic2022-02-081-3/+0
|/ | | 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.
* Minor cleanup of free functions.Per Larsson2022-02-031-20/+28
|
* Merged main.Per Larsson2022-02-021-102/+159
|\
| * Cache policy support (#47)mattpetersepic2022-02-011-102/+159
| | | | | | | | | | | | | | | | 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.
* | Added upstream auth config and removed the possibility to add endpoints via ↵Per Larsson2022-02-021-6/+27
| | | | | | | | REST.
* | Parse expire time from OpenID refresh token and added OpenId token provider.Per Larsson2022-02-021-4/+3
| |
* | Moved cloud cache token provider out from options.Per Larsson2022-02-011-4/+6
| |
* | Refactored cloud cache access token provider.Per Larsson2022-02-011-4/+4
| |
* | Parital completed cloud cache token provider interface.Per Larsson2022-02-011-0/+2
| |
* | Merged main.Per Larsson2022-01-281-76/+80
|\|
| * Rename Paylod to Value to match the client side. Rename PayloadId to ↵mattpetersepic2022-01-271-55/+56
| | | | | | | | ValueContentId where its a hash instead of an oid.
| * Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords (#41)mattpetersepic2022-01-261-12/+15
| | | | | | * Implement SkipData,QueryLocal,StoreLocal for HandleRpcGetCacheRecords.
| * Fixed issue with missing endpoint name when configuring upstream cache from Lua.Per Larsson2022-01-261-1/+3
| |
| * Cachepolicy (#36)mattpetersepic2022-01-251-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Get access token from auth mgr.Per Larsson2022-01-281-4/+7
|/
* Refactored upstream cache to better handle different states in prep for ↵Per Larsson2022-01-241-314/+376
| | | | dynamic auth tokens.
* Format fix.Per Larsson2022-01-221-12/+16
|
* Not all toolchains support C++20's atomic<double>::fetch_add()Martin Ridgers2022-01-111-14/+13
|
* Two missing override keywordsMartin Ridgers2022-01-101-2/+2
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-101-12/+6
|
* Added trace scopes.Per Larsson2021-12-151-0/+31
|
* Merged main.Per Larsson2021-12-141-46/+32
|\
| * Merged mainMartin Ridgers2021-11-221-35/+50
| |\ | |/ |/|
| * Merged mainMartin Ridgers2021-11-171-13/+55
| |\
| * \ Merged mainMartin Ridgers2021-11-171-3/+3
| |\ \
| * \ \ Merged mainMartin Ridgers2021-11-171-7/+14
| |\ \ \
| * | | | GCC does not like CacheKey member being named the same as its typeMartin Ridgers2021-11-151-32/+32
| | | | |
| * | | | Merged mainMartin Ridgers2021-11-151-10/+333
| |\ \ \ \
| * \ \ \ \ Merged mainMartin Ridgers2021-11-031-94/+103
| |\ \ \ \ \
| * | | | | | Signed/unsigned mismatchesMartin Ridgers2021-11-011-6/+6
| | | | | | |