diff --git a/packages/core/database/src/database.ts b/packages/core/database/src/database.ts index d52db3b6488fa..c28e8bb1c9fe2 100644 --- a/packages/core/database/src/database.ts +++ b/packages/core/database/src/database.ts @@ -801,7 +801,7 @@ export class Database extends EventEmitter implements AsyncEmitter { /* istanbul ignore next -- @preserve */ async auth(options: Omit & { retry?: number | Pick } = {}) { - const { retry = 10, ...others } = options; + const { retry = 5, ...others } = options; const startingDelay = 50; const timeMultiple = 2; @@ -831,7 +831,7 @@ export class Database extends EventEmitter implements AsyncEmitter { timeMultiple: timeMultiple, }); } catch (error) { - throw new Error('Connection failed, please check your database connection credentials and try again.'); + throw new Error(`Unable to connect to the database`, { cause: error }); } } diff --git a/packages/core/server/src/gateway/errors.ts b/packages/core/server/src/gateway/errors.ts index be316245f707d..b3292f42cd69a 100644 --- a/packages/core/server/src/gateway/errors.ts +++ b/packages/core/server/src/gateway/errors.ts @@ -34,8 +34,20 @@ export const errors: AppErrors = { APP_ERROR: { status: 503, message: ({ app }) => { - return AppSupervisor.getInstance().appErrors[app.name]?.message; + const error = AppSupervisor.getInstance().appErrors[app.name]; + if (!error) { + return ''; + } + + let message = error.message; + + if ((error as any).cause) { + message = `${message}: ${(error as any).cause.message}`; + } + + return message; }, + code: ({ app }): string => { const error = AppSupervisor.getInstance().appErrors[app.name]; return error['code'] || 'APP_ERROR';