CesiumGS / CesiumGS/cesium-native

Add ability to clear the Cesium ion asset endpoint cache

Open
#1,261 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
623
Forks
277
PR merge metrics
No merged PRs in 30d

Description

Reported here:
https://community.cesium.com/t/cesium-for-unity-not-updating-resource-positions-after-changes-on-cesium-ion-until-unity-restarts/43594

We cache the result of Cesium ion `asset/#/endpoint` requests in process memory. This is useful to avoid using extra Bing and Google sessions unnecessarily, such as every time the user starts a Play-in-Editor session. However, it causes problems when the user is trying to tweak the location of their own tileset on Cesium ion.

When the user edits a location on Cesium ion, the asset's "version" is bumped. This would work as an effective cache bust, except for one little problem: cesium-native never sees the new version because it never re-requests the `asset/#/endpoint` service.

Perhaps we shouldn't be caching this response at all? After all, it does have a `no-cache` header. But won't that run up sessions?

At the very least, we can provide an explicit way for users to clear this in-memory asset endpoint cache.

Contributor guide

Open the contributing guide

Research direction

Start by locating the in-memory cache for Cesium ion asset/#/endpoint requests and the code that serves those requests. Review how related cache controls are exposed and tested; done means users have an explicit way to clear this cache so updated Cesium ion asset locations can be fetched without restarting the process.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.