From 2086ca6039d826560f8e0ff4ca5511bac2a55c8e Mon Sep 17 00:00:00 2001 From: nasc17 <69922333+nasc17@users.noreply.github.com> Date: Fri, 19 Mar 2021 17:25:48 -0700 Subject: [PATCH] Postgres Parameters edit calls missing try catch block (#14805) * try catch block within save and reset functions * pr fix * Pr fix sessions * Pr changes --- .../postgresCoordinatorNodeParametersPage.ts | 2 +- .../dashboards/postgres/postgresParameters.ts | 22 ++++++++++--------- .../postgresWorkerNodeParametersPage.ts | 3 --- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresCoordinatorNodeParametersPage.ts b/extensions/arc/src/ui/dashboards/postgres/postgresCoordinatorNodeParametersPage.ts index 5332f2cba6..503d288d69 100644 --- a/extensions/arc/src/ui/dashboards/postgres/postgresCoordinatorNodeParametersPage.ts +++ b/extensions/arc/src/ui/dashboards/postgres/postgresCoordinatorNodeParametersPage.ts @@ -35,7 +35,7 @@ export class PostgresCoordinatorNodeParametersPage extends PostgresParametersPag /* TODO add correct azdata call for editing coordinator parameters await this._azdataApi.azdata.arc.postgres.server.edit( this._postgresModel.info.name, - { engineSettings: engineSettings.toString() }, + { engineSettings: engineSettings }, this._postgresModel.engineVersion, this._postgresModel.controllerModel.azdataAdditionalEnvVars, session); diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresParameters.ts b/extensions/arc/src/ui/dashboards/postgres/postgresParameters.ts index 14059c9cce..d9d5625e79 100644 --- a/extensions/arc/src/ui/dashboards/postgres/postgresParameters.ts +++ b/extensions/arc/src/ui/dashboards/postgres/postgresParameters.ts @@ -153,7 +153,7 @@ export abstract class PostgresParametersPage extends DashboardPage { }); const session = await this._postgresModel.controllerModel.acquireAzdataSession(); try { - this.saveParameterEdits(engineSettings.toString(), session); + await this.saveParameterEdits(engineSettings.toString(), session); } finally { session.dispose(); } @@ -163,6 +163,7 @@ export abstract class PostgresParametersPage extends DashboardPage { this.saveButton!.enabled = true; throw err; } + await this._postgresModel.refresh(); } ); @@ -221,9 +222,13 @@ export abstract class PostgresParametersPage extends DashboardPage { cancellable: false }, async (_progress, _token): Promise => { - const session = await this._postgresModel.controllerModel.acquireAzdataSession(); try { - this.resetAllParameters(session); + const session = await this._postgresModel.controllerModel.acquireAzdataSession(); + try { + await this.resetAllParameters(session); + } finally { + session.dispose(); + } } catch (err) { // If an error occurs while resetting the instance then re-enable the reset button since // the edit wasn't successfully applied @@ -233,12 +238,9 @@ export abstract class PostgresParametersPage extends DashboardPage { } this.resetAllButton!.enabled = true; throw err; - } finally { - session?.dispose(); } await this._postgresModel.refresh(); } - ); vscode.window.showInformationMessage(loc.instanceUpdated(this._postgresModel.info.name)); @@ -518,7 +520,7 @@ export abstract class PostgresParametersPage extends DashboardPage { async (_progress, _token): Promise => { const session = await this._postgresModel.controllerModel.acquireAzdataSession(); try { - this.resetParameter(engineSetting.parameterName!, session); + await this.resetParameter(engineSetting.parameterName!, session); } finally { session.dispose(); } @@ -543,11 +545,11 @@ export abstract class PostgresParametersPage extends DashboardPage { return parameter; } - protected abstract saveParameterEdits(engineSettings: string, session: azdataExt.AzdataSession): void; + protected abstract saveParameterEdits(engineSettings: string, session: azdataExt.AzdataSession): Promise; - protected abstract resetAllParameters(session: azdataExt.AzdataSession): void; + protected abstract resetAllParameters(session: azdataExt.AzdataSession): Promise; - protected abstract resetParameter(parameterName: string, session: azdataExt.AzdataSession): void; + protected abstract resetParameter(parameterName: string, session: azdataExt.AzdataSession): Promise; protected abstract refreshParametersTable(): void; diff --git a/extensions/arc/src/ui/dashboards/postgres/postgresWorkerNodeParametersPage.ts b/extensions/arc/src/ui/dashboards/postgres/postgresWorkerNodeParametersPage.ts index 47d333cb5c..2558045031 100644 --- a/extensions/arc/src/ui/dashboards/postgres/postgresWorkerNodeParametersPage.ts +++ b/extensions/arc/src/ui/dashboards/postgres/postgresWorkerNodeParametersPage.ts @@ -42,7 +42,6 @@ export class PostgresWorkerNodeParametersPage extends PostgresParametersPage { this._postgresModel.engineVersion, this._postgresModel.controllerModel.azdataAdditionalEnvVars, session); - } protected async resetAllParameters(session: azdataExt.AzdataSession): Promise { @@ -52,7 +51,6 @@ export class PostgresWorkerNodeParametersPage extends PostgresParametersPage { this._postgresModel.engineVersion, this._postgresModel.controllerModel.azdataAdditionalEnvVars, session); - } protected async resetParameter(parameterName: string, session: azdataExt.AzdataSession): Promise { @@ -62,7 +60,6 @@ export class PostgresWorkerNodeParametersPage extends PostgresParametersPage { this._postgresModel.engineVersion, this._postgresModel.controllerModel.azdataAdditionalEnvVars, session); - } protected refreshParametersTable(): void {