diff --git a/src/sql/parts/notebook/models/sparkMagicContexts.ts b/src/sql/parts/notebook/models/sparkMagicContexts.ts index 60b25be9ef..986158fdf2 100644 --- a/src/sql/parts/notebook/models/sparkMagicContexts.ts +++ b/src/sql/parts/notebook/models/sparkMagicContexts.ts @@ -140,9 +140,14 @@ export class SparkMagicContexts { * @param savedKernelInfo kernel info loaded from */ public static getDefaultKernel(specs: nb.IAllKernels, connectionInfo: IConnectionProfile, savedKernelInfo: nb.IKernelInfo, notificationService: INotificationService): nb.IKernelSpec { - let defaultKernel = specs.kernels.find((kernel) => kernel.name === specs.defaultKernel); + let foundSavedKernelInSpecs; + let defaultKernel; + if (specs) { + foundSavedKernelInSpecs = specs.kernels.find((kernel) => kernel.name === savedKernelInfo.name); + defaultKernel = specs.kernels.find((kernel) => kernel.name === specs.defaultKernel); + } let profile = connectionInfo as IConnectionProfile; - if (specs && connectionInfo && profile.providerName === notebookConstants.hadoopKnoxProviderName) { + if (foundSavedKernelInSpecs && specs && connectionInfo && profile.providerName === notebookConstants.hadoopKnoxProviderName) { // set default kernel to default spark kernel if profile exists // otherwise, set default to kernel info loaded from existing file defaultKernel = !savedKernelInfo ? specs.kernels.find((spec) => spec.name === notebookConstants.defaultSparkKernel) : savedKernelInfo;