Enable nodejs dynamic provider caching by default on program side (#6704)

This commit is contained in:
Evan Boyle 2021-04-05 16:03:28 -07:00 committed by stack72
parent e05477b8d6
commit 036344679a
4 changed files with 5 additions and 4 deletions

View file

@ -165,6 +165,7 @@ const providerCache = new WeakMap<ResourceProvider, Promise<string>>();
function serializeProvider(provider: ResourceProvider): Promise<string> {
let result: Promise<string>;
// caching is enabled by default as of 3.0
if (runtime.cacheDynamicProviders()) {
const cachedProvider = providerCache.get(provider);
if (cachedProvider) {

View file

@ -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"),

View file

@ -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+)(-.*)?/;

View file

@ -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"]);