Skip to content

Conversation

@MetroCat69
Copy link

Related Issues

Proposed Changes

How Did You Test It?

All unit tests passed after running hatch run test with a brand new MongoDB Atlas cluster.

Notes for the Reviewer

I encountered the following error:

pymongo.errors.OperationFailure: The maximum number of FTS indexes has been reached for this instance size., full error: {'ok': 0.0, 'errmsg': 'The maximum number of FTS indexes has been reached for this instance size.', 'code': 20, 'codeName': 'IllegalOperation', '$clusterTime': {'clusterTime': Timestamp(1745268638, 17), 'signature': {'hash':

It seems I can't create more than 3 full-text search (FTS) indexes on the free-tier MongoDB Atlas cluster, but more are needed.

Does anyone have suggestions on how to work around this limitation?

@MetroCat69 MetroCat69 requested a review from a team as a code owner April 21, 2025 21:29
@MetroCat69 MetroCat69 requested review from julian-risch and removed request for a team April 21, 2025 21:29
@CLAassistant
Copy link

CLAassistant commented Apr 21, 2025

CLA assistant check
All committers have signed the CLA.

@julian-risch
Copy link
Member

@MetroCat69 Thanks for opening this PR. We are not aware of any good way to work around the limit of 3 full-text search (FTS) indexes on the free-tier MongoDB Atlas cluster. So we need to make sure we only use 3.

@julian-risch
Copy link
Member

julian-risch commented Apr 22, 2025

There are some smaller linter issues that need to be fixed: https://github.com/deepset-ai/haystack-core-integrations/actions/runs/14581768683/job/40899798526?pr=1663
You can run the linter locally with hatch run lint:all.

Regarding the renaming of the secret MONGO_CONNECTION_STRING_2, we would need to make sure that we properly pass the secret in this workflow otherwise tests won't use the correct key in the CI.

MONGO_CONNECTION_STRING_2: ${{ secrets.MONGO_CONNECTION_STRING_2 }}

@MetroCat69
Copy link
Author

There are some smaller linter issues that need to be fixed: https://github.com/deepset-ai/haystack-core-integrations/actions/runs/14581768683/job/40899798526?pr=1663
You can run the linter locally with hatch run lint:all.

Regarding the renaming of the secret MONGO_CONNECTION_STRING_2, we need to make sure it's properly passed in the workflow—otherwise, the tests won't use the correct key in CI.

MONGO_CONNECTION_STRING_2: ${{ secrets.MONGO_CONNECTION_STRING_2 }}

Sure, I'm a bit busy over the next few days, so it might take me some time to get to this. Also, I'm not sure it's even possible to use fewer than three indexes, considering we want to test full-text search, cosine similarity, Euclidean similarity, and dot product search.

Maybe we should consider creating and destroying the indexes within the individual tests themselves?

@julian-risch
Copy link
Member

With the free-tier MongoDB Atlas cluster that we currently use in the continuous integration tests, we can't merge this branch right away. I'll close it for now but feel free to reopen it if you find a solution with only three full-text search indexes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tests requiring additional setup

3 participants