An aggregation pipeline $lookup fails even if the 2 involved collections are not encrypted.
We are using a connection pool with 10 connections. Each connection in the pool is created with csfle options enabled. The same connection is used to work on the collections with the encrypted fields.
The understanding as per mongo official documentation is that behaviour should be based on which collections is being queried and if there is no encryption on any fields in the collection, there should not be any challenges on the queries w.r.t. those collections.
The collections which have encrypted fields will have the query constraints as documented in the official documentation.
But, aggregation with lookup, does not work which is not expected.
Exception received:
Exception in encryption library: Command failed with error 51204 (Location51204): ‘Pipeline over an encrypted collection cannot reference additional collections.’ on server localhost:27020. The full response is
{“ok”: 0.0, “errmsg”: “Pipeline over an encrypted collection cannot reference additional collections.”, “code”: 51204, “codeName”: “Location51204”}
However, the aggregation works fine if the connection is created without csfle options.
Has anyone come across this and has a work around or a fix?
Thanks @Stennie_X
I have upvoted for the bug as suggested.
Is there a way to find out by when the bug will be resolved? This is a big blocker on the path of adopting CSFLE.
Thanks for upvoting the issue - that is a helpful signal for the development team’s planning and prioritisation. Watching the issue in Jira (i.e. logging in and clicking on “Start watching this issue”) is the best way to follow progress.
This issue currently has a Fix Version of “Backlog” and an assignee of “Backlog - Query Team”, which means the issue has been assigned to the query team’s work backlog but has not been planned for a development sprint yet. As such, there is no further ETA available at the moment.