diff --git a/packages/cubejs-backend-native/python/cube/src/__init__.py b/packages/cubejs-backend-native/python/cube/src/__init__.py index d18cc154fe69c..e7ff52f1c1921 100644 --- a/packages/cubejs-backend-native/python/cube/src/__init__.py +++ b/packages/cubejs-backend-native/python/cube/src/__init__.py @@ -77,6 +77,7 @@ class Configuration: semantic_layer_sync: Union[Dict, Callable[[], Dict]] pre_aggregations_schema: Union[Callable[[RequestContext], str]] orchestrator_options: Union[Dict, Callable[[RequestContext], Dict]] + fast_reload: bool def __init__(self): self.web_sockets = None @@ -125,6 +126,7 @@ def __init__(self): self.semantic_layer_sync = None self.pre_aggregations_schema = None self.orchestrator_options = None + self.fast_reload = None def __call__(self, func): if isinstance(func, str): diff --git a/packages/cubejs-backend-native/src/python/cube_config.rs b/packages/cubejs-backend-native/src/python/cube_config.rs index 0b718112babcc..11c3611706ee6 100644 --- a/packages/cubejs-backend-native/src/python/cube_config.rs +++ b/packages/cubejs-backend-native/src/python/cube_config.rs @@ -63,6 +63,7 @@ impl CubeConfigPy { "schema_version", "pre_aggregations_schema", "orchestrator_options", + "fast_reload", ] } diff --git a/packages/cubejs-backend-shared/src/env.ts b/packages/cubejs-backend-shared/src/env.ts index 192c9da7b9abe..3d90db1d8a9b8 100644 --- a/packages/cubejs-backend-shared/src/env.ts +++ b/packages/cubejs-backend-shared/src/env.ts @@ -1785,7 +1785,7 @@ const variables: Record any> = { return undefined; }, - fastReloadEnabled: () => get('CUBEJS_FAST_RELOAD_ENABLED') + fastReload: () => get('CUBEJS_FAST_RELOAD_ENABLED') .default('false') .asBoolStrict(), }; diff --git a/packages/cubejs-server-core/src/core/CompilerApi.js b/packages/cubejs-server-core/src/core/CompilerApi.js index bc764186a98d6..2e38044bc193e 100644 --- a/packages/cubejs-server-core/src/core/CompilerApi.js +++ b/packages/cubejs-server-core/src/core/CompilerApi.js @@ -53,7 +53,7 @@ export class CompilerApi { compilerVersion = JSON.stringify(compilerVersion); } - if (this.options.devServer || this.options.fastReloadEnabled) { + if (this.options.devServer || this.options.fastReload) { const files = await this.repository.dataSchemaFiles(); compilerVersion += `_${crypto.createHash('md5').update(JSON.stringify(files)).digest('hex')}`; } diff --git a/packages/cubejs-server-core/src/core/OptsHandler.ts b/packages/cubejs-server-core/src/core/OptsHandler.ts index 55731d1aa0c9b..d97c119343c92 100644 --- a/packages/cubejs-server-core/src/core/OptsHandler.ts +++ b/packages/cubejs-server-core/src/core/OptsHandler.ts @@ -482,7 +482,8 @@ export class OptsHandler { jwkUrl: getEnv('jwkUrl'), claimsNamespace: getEnv('jwtClaimsNamespace'), ...opts.jwt, - } + }, + fastReload: getEnv('fastReload'), }; if (opts.contextToAppId && !opts.scheduledRefreshContexts) { diff --git a/packages/cubejs-server-core/src/core/optionsValidate.ts b/packages/cubejs-server-core/src/core/optionsValidate.ts index 161186938e16f..7b0739e3f6fc6 100644 --- a/packages/cubejs-server-core/src/core/optionsValidate.ts +++ b/packages/cubejs-server-core/src/core/optionsValidate.ts @@ -142,6 +142,7 @@ const schemaOptions = Joi.object().keys({ // Additional system flags serverless: Joi.boolean(), allowNodeRequire: Joi.boolean(), + fastReload: Joi.boolean(), }); export default (options: any) => { diff --git a/packages/cubejs-server-core/src/core/server.ts b/packages/cubejs-server-core/src/core/server.ts index 57b6e0954669b..bf7aa341826d8 100644 --- a/packages/cubejs-server-core/src/core/server.ts +++ b/packages/cubejs-server-core/src/core/server.ts @@ -516,6 +516,7 @@ export class CubejsServerCore { context, allowJsDuplicatePropsInSchema: this.options.allowJsDuplicatePropsInSchema, allowNodeRequire: this.options.allowNodeRequire, + fastReload: this.options.fastReload, }, ); @@ -689,7 +690,7 @@ export class CubejsServerCore { sqlCache: this.options.sqlCache, standalone: this.standalone, allowNodeRequire: options.allowNodeRequire, - fastReloadEnabled: options.fastReloadEnabled || getEnv('fastReloadEnabled'), + fastReload: options.fastReload || getEnv('fastReload'), }, ); } diff --git a/packages/cubejs-server-core/src/core/types.ts b/packages/cubejs-server-core/src/core/types.ts index 213bc9c2ac7a8..2e4511a039e3a 100644 --- a/packages/cubejs-server-core/src/core/types.ts +++ b/packages/cubejs-server-core/src/core/types.ts @@ -216,6 +216,7 @@ export interface CreateOptions { serverless?: boolean; allowNodeRequire?: boolean; semanticLayerSync?: (context: RequestContext) => Promise | BiToolSyncConfig[]; + fastReload?: boolean; } export interface DriverDecoratedOptions extends CreateOptions {