Hi GD team, Can anyone help me understand GoodData...
# gooddata-cloud
t
Hi GD team, Can anyone help me understand GoodData's caching? I've reviewed the documentation below, but can't find my exact answer. If your cache preference is set to Optimzie for speed and savings, is the cache ever invalidated without a call to the API? I uploaded new data and it was available in GoodData without me invalidating the cache so it seems like yes but I'd like to know if there is a general expiry time or something else at work. https://www.gooddata.com/docs/cloud/connect-data/cache-management/
m
Hi Tim, I understand you want to know under what circumstances the cache is invalidated automatically without an explicit API call (if any). Could you specify what is the database that you are using? We will consult this internally.
t
Yep, that's right. We use Snowflake as our data warehouse
j
Hi Tim, I assume that you’ve calculated report so cache was created. After that, uploaded new data to DB and followed by report re-execution so cache should be reused. All the following operations trigger new query for the report: • update LDM -> new model • update DataSource url or call on DataSource uploadNotification -> new data source definition or invalidation • update of ADM, it is metric(s) used in the report -> new analytical layer Are they sure that no such operation was done after uploading new data?
t
Hi Julius, I'm not 100% sure that none of those were done but I don't think so. That does help to know that there are some automated ways the cache is invalidated.
Is there any time based expiry on the cache?
m
Thanks for the update. In order to continue looking into this, can you provide times of: • report execution • data upload • report re-execution
t
All times in (PT) Report execution: ~1:30 PM Data upload: 2:05 PM Report re-execution: 2:11 PM
Does changing the report filter affect the cache?
Refreshing the report didn't update the results, but changing the data range filter did.
j
Yes, changing report filter results in separate cache items and by that potentially into a new sql query execution. Report execution includes report filters. If you change report filter you create a new unique report execution and by that potentially a new cache. It is expected to invalidate data source once backing DB data changes are finished so that reports are consistent.