Skip to content

Commit c736af7

Browse files
committed
chore: sleep between search retries
1 parent b808624 commit c736af7

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

tests/integration/helpers.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,3 +382,7 @@ export function getDataFromUntrustedContent(content: string): string {
382382
}
383383
return match.groups.data.trim();
384384
}
385+
386+
export function sleep(ms: number): Promise<void> {
387+
return new Promise((resolve) => setTimeout(resolve, ms));
388+
}

tests/integration/tools/atlas/clusters.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
import type { Session } from "../../../../src/common/session.js";
2-
import { expectDefined, getDataFromUntrustedContent, getResponseElements } from "../../helpers.js";
2+
import { expectDefined, getDataFromUntrustedContent, getResponseElements, sleep } from "../../helpers.js";
33
import { describeWithAtlas, withProject, randomId, parseTable } from "./atlasHelpers.js";
44
import type { ClusterDescription20240805 } from "../../../../src/common/atlas/openapi.js";
55
import { afterAll, beforeAll, describe, expect, it } from "vitest";
66

7-
function sleep(ms: number): Promise<void> {
8-
return new Promise((resolve) => setTimeout(resolve, ms));
9-
}
10-
117
async function deleteCluster(
128
session: Session,
139
projectId: string,

tests/integration/tools/mongodb/search/listSearchIndexes.test.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
validateToolMetadata,
77
validateThrowsForInvalidArguments,
88
databaseCollectionInvalidArgs,
9+
sleep,
910
} from "../../../helpers.js";
1011
import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
1112
import type { SearchIndexStatus } from "../../../../../src/tools/mongodb/search/listSearchIndexes.js";
@@ -102,16 +103,18 @@ describeWithMongoDB(
102103
{ search: true } // use a search cluster
103104
);
104105

106+
const SEARCH_RETRIES = 10_000;
105107
async function waitUntilSearchIsReady(provider: NodeDriverServiceProvider, abortSignal: AbortSignal): Promise<void> {
106108
let success = true;
107-
for (let i = 0; i < 1000 && !abortSignal.aborted; i++) {
109+
for (let i = 0; i < SEARCH_RETRIES && !abortSignal.aborted; i++) {
108110
try {
109111
await provider.insertOne("tmp", "test", { field1: "yay" });
110112
await provider.createSearchIndexes("tmp", "test", [{ definition: { mappings: { dynamic: true } } }]);
111113
success = true;
112114
break;
113115
} catch (err) {
114116
void err;
117+
await sleep(100);
115118
}
116119
}
117120

@@ -128,7 +131,7 @@ async function waitUntilIndexIsQueryable(
128131
abortSignal: AbortSignal
129132
): Promise<void> {
130133
let success = false;
131-
for (let i = 0; i < 1000 && !abortSignal.aborted; i++) {
134+
for (let i = 0; i < SEARCH_RETRIES && !abortSignal.aborted; i++) {
132135
try {
133136
const [indexStatus] = await provider.getSearchIndexes(database, collection, indexName);
134137
if (indexStatus?.queryable === true) {
@@ -137,6 +140,7 @@ async function waitUntilIndexIsQueryable(
137140
}
138141
} catch (err) {
139142
void err;
143+
await sleep(100);
140144
}
141145
}
142146

0 commit comments

Comments
 (0)