From 39e734bfe75963899e70e7522504fbb98af87574 Mon Sep 17 00:00:00 2001 From: Navin Agarwal Date: Wed, 5 Mar 2025 17:18:38 -0800 Subject: [PATCH 1/5] Optimizations to alias test which are flaky and timeout --- .../src/test/rootDatastores.spec.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts index fd949e81b098..468b96c158d1 100644 --- a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts +++ b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts @@ -18,7 +18,6 @@ import { ITestObjectProvider, getContainerEntryPointBackCompat, summarizeNow, - waitForContainerConnection, } from "@fluidframework/test-utils/internal"; import { TestPersistedCache } from "../testPersistedCache.js"; @@ -44,12 +43,12 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = let provider: ITestObjectProvider; const testPersistedCache = new TestPersistedCache(); beforeEach("getTestObjectProvider", async () => { - provider = getTestObjectProvider({ persistedCache: testPersistedCache }); + provider = getTestObjectProvider({ + persistedCache: testPersistedCache, + syncSummarizer: true, + }); container1 = await provider.makeTestContainer(testContainerConfig); dataObject1 = await getContainerEntryPointBackCompat(container1); - await waitForContainerConnection(container1); - - await provider.ensureSynchronized(); container2 = await provider.loadTestContainer(testContainerConfig); dataObject2 = await getContainerEntryPointBackCompat(container2); @@ -273,8 +272,6 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = await provider.ensureSynchronized(); const container3 = await provider.loadTestContainer(testContainerConfig); const dataObject3 = await getContainerEntryPointBackCompat(container3); - - await provider.ensureSynchronized(); assert.ok(await getAliasedDataStoreEntryPoint(dataObject3, alias)); }); @@ -334,11 +331,10 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = assert.equal(aliasResult1, "Success"); assert.equal(aliasResult2, "Conflict"); - await provider.ensureSynchronized(); - const { summarizer } = await createSummarizer(provider, container1, { fluidDataObjectType: DataObjectFactoryType.Test, }); + await provider.ensureSynchronized(); const { summaryVersion } = await summarizeNow(summarizer); // For the ODSP driver, we need to clear the cache to ensure we get the latest snapshot From c8f5c7e4ef88d557bed7211e139de7f11b630029 Mon Sep 17 00:00:00 2001 From: Navin Agarwal Date: Wed, 5 Mar 2025 17:26:33 -0800 Subject: [PATCH 2/5] Fix 2 --- .../test/test-end-to-end-tests/src/test/rootDatastores.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts index 468b96c158d1..5ebe341e9e2e 100644 --- a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts +++ b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts @@ -269,8 +269,8 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = assert.equal(aliasResult1, "Success"); assert.equal(aliasResult2, "Conflict"); - await provider.ensureSynchronized(); const container3 = await provider.loadTestContainer(testContainerConfig); + await provider.ensureSynchronized(); const dataObject3 = await getContainerEntryPointBackCompat(container3); assert.ok(await getAliasedDataStoreEntryPoint(dataObject3, alias)); }); From 285680c3edd837df1d9aaf8fe8a10c518d3b1737 Mon Sep 17 00:00:00 2001 From: Navin Agarwal Date: Wed, 5 Mar 2025 17:28:24 -0800 Subject: [PATCH 3/5] Fix 3 --- .../test/test-end-to-end-tests/src/test/rootDatastores.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts index 5ebe341e9e2e..c2a1c6ca31eb 100644 --- a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts +++ b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts @@ -270,8 +270,9 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = assert.equal(aliasResult2, "Conflict"); const container3 = await provider.loadTestContainer(testContainerConfig); - await provider.ensureSynchronized(); const dataObject3 = await getContainerEntryPointBackCompat(container3); + + await provider.ensureSynchronized(); assert.ok(await getAliasedDataStoreEntryPoint(dataObject3, alias)); }); From 2f9da99c2928d2da45760f047c72bc21279d21bf Mon Sep 17 00:00:00 2001 From: Navin Agarwal Date: Wed, 5 Mar 2025 17:33:18 -0800 Subject: [PATCH 4/5] Added timeout awaits --- .../test-end-to-end-tests/src/test/rootDatastores.spec.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts index c2a1c6ca31eb..884272655870 100644 --- a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts +++ b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts @@ -18,6 +18,7 @@ import { ITestObjectProvider, getContainerEntryPointBackCompat, summarizeNow, + timeoutAwait, } from "@fluidframework/test-utils/internal"; import { TestPersistedCache } from "../testPersistedCache.js"; @@ -273,7 +274,7 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = const dataObject3 = await getContainerEntryPointBackCompat(container3); await provider.ensureSynchronized(); - assert.ok(await getAliasedDataStoreEntryPoint(dataObject3, alias)); + assert.ok(await timeoutAwait(getAliasedDataStoreEntryPoint(dataObject3, alias))); }); it("getAliasedDataStoreEntryPoint only returns aliased data stores", async function () { @@ -352,7 +353,7 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = const aliasResult3 = await ds3.trySetAlias(alias); assert.equal(aliasResult3, "Conflict"); - assert.ok(await getAliasedDataStoreEntryPoint(dataObject3, alias)); + assert.ok(timeoutAwait(getAliasedDataStoreEntryPoint(dataObject3, alias))); }, ); }); From b1dfea1eddde511f420aa6ad797104e1e2b415e2 Mon Sep 17 00:00:00 2001 From: Navin Agarwal Date: Thu, 6 Mar 2025 10:50:52 -0800 Subject: [PATCH 5/5] Add await to timeoutAwait --- .../test/test-end-to-end-tests/src/test/rootDatastores.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts index 884272655870..a90632e7c929 100644 --- a/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts +++ b/packages/test/test-end-to-end-tests/src/test/rootDatastores.spec.ts @@ -353,7 +353,7 @@ describeCompat("Named root data stores", "FullCompat", (getTestObjectProvider) = const aliasResult3 = await ds3.trySetAlias(alias); assert.equal(aliasResult3, "Conflict"); - assert.ok(timeoutAwait(getAliasedDataStoreEntryPoint(dataObject3, alias))); + assert.ok(await timeoutAwait(getAliasedDataStoreEntryPoint(dataObject3, alias))); }, ); });