From 036344679a0c2e24af3c9e4a0d7ea34adff5136b Mon Sep 17 00:00:00 2001 From: Evan Boyle Date: Mon, 5 Apr 2021 16:03:28 -0700 Subject: [PATCH] Enable nodejs dynamic provider caching by default on program side (#6704) --- sdk/nodejs/dynamic/index.ts | 1 + sdk/nodejs/runtime/settings.ts | 4 ++-- sdk/nodejs/tests/automation/localWorkspace.spec.ts | 2 +- sdk/nodejs/tests/runtime/settings.spec.ts | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sdk/nodejs/dynamic/index.ts b/sdk/nodejs/dynamic/index.ts index a15df5412..99c06015d 100644 --- a/sdk/nodejs/dynamic/index.ts +++ b/sdk/nodejs/dynamic/index.ts @@ -165,6 +165,7 @@ const providerCache = new WeakMap>(); function serializeProvider(provider: ResourceProvider): Promise { let result: Promise; + // caching is enabled by default as of 3.0 if (runtime.cacheDynamicProviders()) { const cachedProvider = providerCache.get(provider); if (cachedProvider) { diff --git a/sdk/nodejs/runtime/settings.ts b/sdk/nodejs/runtime/settings.ts index fe1f7fcf4..551b23eb7 100644 --- a/sdk/nodejs/runtime/settings.ts +++ b/sdk/nodejs/runtime/settings.ts @@ -174,7 +174,7 @@ export function isLegacyApplyEnabled(): boolean { } /** - * Returns true true if we will cache serialized dynamic providers on the program side + * Returns true (default) if we will cache serialized dynamic providers on the program side */ export function cacheDynamicProviders(): boolean { return options().cacheDynamicProviders === true; @@ -353,7 +353,7 @@ function options(): Options { monitorAddr: process.env[nodeEnvKeys.monitorAddr], engineAddr: process.env[nodeEnvKeys.engineAddr], syncDir: process.env[nodeEnvKeys.syncDir], - cacheDynamicProviders: (process.env[nodeEnvKeys.cacheDynamicProviders] === "true"), + cacheDynamicProviders: process.env[nodeEnvKeys.cacheDynamicProviders] !== "false", // true by default // pulumi specific testModeEnabled: (process.env[pulumiEnvKeys.testMode] === "true"), legacyApply: (process.env[pulumiEnvKeys.legacyApply] === "true"), diff --git a/sdk/nodejs/tests/automation/localWorkspace.spec.ts b/sdk/nodejs/tests/automation/localWorkspace.spec.ts index 1aa896e82..31c630ebe 100644 --- a/sdk/nodejs/tests/automation/localWorkspace.spec.ts +++ b/sdk/nodejs/tests/automation/localWorkspace.spec.ts @@ -16,7 +16,6 @@ import * as assert from "assert"; import * as semver from "semver"; import * as upath from "upath"; -import { Config } from "../../index"; import { ConfigMap, EngineEvent, @@ -27,6 +26,7 @@ import { Stack, validatePulumiVersion, } from "../../automation"; +import { Config } from "../../index"; import { asyncTest } from "../util"; const versionRegex = /(\d+\.)(\d+\.)(\d+)(-.*)?/; diff --git a/sdk/nodejs/tests/runtime/settings.spec.ts b/sdk/nodejs/tests/runtime/settings.spec.ts index 06f140c6d..313bdd979 100644 --- a/sdk/nodejs/tests/runtime/settings.spec.ts +++ b/sdk/nodejs/tests/runtime/settings.spec.ts @@ -45,7 +45,7 @@ describe("settings", () => { assert.strictEqual(runtime.isDryRun(), isDryRun); assert.strictEqual(runtime.isQueryMode(), isQueryMode); assert.strictEqual(runtime.getConfig(key), val); - assert.strictEqual(runtime.cacheDynamicProviders(), false); + assert.strictEqual(runtime.cacheDynamicProviders(), true); assert.strictEqual(testProject, process.env["PULUMI_NODEJS_PROJECT"]); assert.strictEqual(testStack, process.env["PULUMI_NODEJS_STACK"]);