diff --git a/packages/shared/akamai-edgeworker-sdk/src/api/LDClient.ts b/packages/shared/akamai-edgeworker-sdk/src/api/LDClient.ts index a34fc73a30..0ba8a0c7c7 100644 --- a/packages/shared/akamai-edgeworker-sdk/src/api/LDClient.ts +++ b/packages/shared/akamai-edgeworker-sdk/src/api/LDClient.ts @@ -46,7 +46,6 @@ class LDClient extends LDClientImpl { defaultValue: LDFlagValue, callback?: (err: any, res: LDFlagValue) => void, ): Promise { - await this._cacheableStoreProvider.prefetchPayloadFromOriginStore(); return super.variation(key, context, defaultValue, callback); } @@ -56,7 +55,6 @@ class LDClient extends LDClientImpl { defaultValue: LDFlagValue, callback?: (err: any, res: LDEvaluationDetail) => void, ): Promise { - await this._cacheableStoreProvider.prefetchPayloadFromOriginStore(); return super.variationDetail(key, context, defaultValue, callback); } @@ -65,7 +63,6 @@ class LDClient extends LDClientImpl { options?: LDFlagsStateOptions, callback?: (err: Error | null, res: LDFlagsState) => void, ): Promise { - await this._cacheableStoreProvider.prefetchPayloadFromOriginStore(); return super.allFlagsState(context, options, callback); } } diff --git a/packages/shared/akamai-edgeworker-sdk/src/featureStore/cacheableStoreProvider.ts b/packages/shared/akamai-edgeworker-sdk/src/featureStore/cacheableStoreProvider.ts index 11aecdf658..15335a59ed 100644 --- a/packages/shared/akamai-edgeworker-sdk/src/featureStore/cacheableStoreProvider.ts +++ b/packages/shared/akamai-edgeworker-sdk/src/featureStore/cacheableStoreProvider.ts @@ -2,14 +2,13 @@ import { EdgeProvider } from '.'; /** * Wraps around an edge provider to cache a copy of the sdk payload locally an explicit request is made to refetch data from the origin. - * The wrapper is neccessary to ensure that we dont make redundant sub-requests from Akamai to fetch an entire environment payload. + * The wrapper is necessary to ensure that we dona make redundant sub-requests from Akamai to fetch an entire environment payload. */ export default class CacheableStoreProvider implements EdgeProvider { cache: string | null | undefined; constructor( private readonly _edgeProvider: EdgeProvider, - private readonly _rootKey: string, ) {} /** @@ -24,16 +23,4 @@ export default class CacheableStoreProvider implements EdgeProvider { return this.cache; } - - /** - * Invalidates cache and fetch environment payload data from origin. The result of this data is cached in memory. - * You should only call this function within a feature store to pre-fetch and cache payload data in environments - * where its expensive to make multiple outbound requests to the origin - * @param rootKey - * @returns - */ - async prefetchPayloadFromOriginStore(rootKey?: string): Promise { - this.cache = undefined; // clear the cache so that new data can be fetched from the origin - return this.get(rootKey || this._rootKey); - } } diff --git a/packages/shared/akamai-edgeworker-sdk/src/index.ts b/packages/shared/akamai-edgeworker-sdk/src/index.ts index fb0713ee74..99c2ceb880 100644 --- a/packages/shared/akamai-edgeworker-sdk/src/index.ts +++ b/packages/shared/akamai-edgeworker-sdk/src/index.ts @@ -37,10 +37,7 @@ export const init = (params: BaseSDKParams): LDClient => { const logger = options.logger ?? BasicLogger.get(); - const cachableStoreProvider = new CacheableStoreProvider( - featureStoreProvider, - buildRootKey(sdkKey), - ); + const cachableStoreProvider = new CacheableStoreProvider(featureStoreProvider); const featureStore = new EdgeFeatureStore(cachableStoreProvider, sdkKey, 'Akamai', logger); const ldOptions: LDOptionsCommon = {