diff --git a/src/sql/workbench/services/notebook/browser/models/clientSession.ts b/src/sql/workbench/services/notebook/browser/models/clientSession.ts index 80679563a3..f5ca462cea 100644 --- a/src/sql/workbench/services/notebook/browser/models/clientSession.ts +++ b/src/sql/workbench/services/notebook/browser/models/clientSession.ts @@ -48,6 +48,7 @@ export class ClientSession implements IClientSession { private isServerStarted: boolean; private notebookManager: INotebookManager; private _kernelConfigActions: ((kernelName: string) => Promise)[] = []; + private _connectionId: string = ''; constructor(private options: IClientSessionOptions) { this._notebookUri = options.notebookUri; @@ -288,8 +289,9 @@ export class ClientSession implements IClientSession { // TODO is there any case where skipping causes errors? So far it seems like it gets called twice return; } - if (connection.id !== '-1') { + if (connection.id !== '-1' && connection.id !== this._connectionId) { await this._session.configureConnection(connection); + this._connectionId = connection.id; } }