From 538f6d0a715473c0c800c82060a66e680def05af Mon Sep 17 00:00:00 2001 From: Pavel Tiunov Date: Sat, 21 Mar 2020 14:21:10 -0700 Subject: [PATCH] fix: Various cleanup errors Fixes #525 --- .../orchestrator/QueryOrchestrator.js | 4 +++- packages/cubejs-server-core/core/OrchestratorApi.js | 3 ++- packages/cubejs-server-core/core/index.js | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/cubejs-query-orchestrator/orchestrator/QueryOrchestrator.js b/packages/cubejs-query-orchestrator/orchestrator/QueryOrchestrator.js index eda9d291d26ee..859f7133c19fd 100644 --- a/packages/cubejs-query-orchestrator/orchestrator/QueryOrchestrator.js +++ b/packages/cubejs-query-orchestrator/orchestrator/QueryOrchestrator.js @@ -90,7 +90,9 @@ class QueryOrchestrator { } async cleanup() { - await this.redisPool.cleanup(); + if (this.redisPool) { + await this.redisPool.cleanup(); + } } } diff --git a/packages/cubejs-server-core/core/OrchestratorApi.js b/packages/cubejs-server-core/core/OrchestratorApi.js index baff549fa2ca8..c178885b78414 100644 --- a/packages/cubejs-server-core/core/OrchestratorApi.js +++ b/packages/cubejs-server-core/core/OrchestratorApi.js @@ -89,7 +89,8 @@ class OrchestratorApi { release() { return Promise.all([ this.releaseDriver(this.driverFactory), - this.releaseDriver(this.externalDriverFactory) + this.releaseDriver(this.externalDriverFactory), + this.orchestrator.cleanup() ]); } diff --git a/packages/cubejs-server-core/core/index.js b/packages/cubejs-server-core/core/index.js index fb92c0dfe133a..aef9c61fd09d5 100644 --- a/packages/cubejs-server-core/core/index.js +++ b/packages/cubejs-server-core/core/index.js @@ -422,7 +422,7 @@ class CubejsServerCore { } return driverPromise; }, - getExternalDriverFactory: async () => { + getExternalDriverFactory: this.externalDriverFactory && (async () => { if (!externalPreAggregationsDriverPromise) { const driver = await this.externalDriverFactory(context); externalPreAggregationsDriverPromise = driver.testConnection().then(() => driver).catch(e => { @@ -431,7 +431,7 @@ class CubejsServerCore { }); } return externalPreAggregationsDriverPromise; - }, + }), redisPrefix: dataSourceId, orchestratorOptions: this.orchestratorOptions(context) });