[SERVER-39676] Investigate possibility of adapting TransactionHistoryIterator for use in Change Streams Created: 19/Feb/19 Updated: 29/Oct/23 Resolved: 03/Apr/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.10 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Justin Seyster | Assignee: | Justin Seyster |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Sprint: | Query 2019-03-11, Query 2019-04-22 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
The TransactionHistoryIterator has the right interface for the prepared transaction lookups that we need in a Change Stream, but it uses the DBDirectClient, which may turn out to be impractical for use in an aggregation pipeline. It may be possible to make the TransactionHistoryIterator more widely usable by replacing the DBDirectClient call with a call to MongoProcessInterface::lookupSingleDocument(), which is the interface used by DocumentSourceLookupChangePostImage. Alternatively, we may decide to factor out the code for writing the query so that even if the Change Stream wants to use its own method for talking to the database, it can at least reuse the query-writing logic. |
| Comments |
| Comment by Githook User [ 05/Apr/19 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: |
| Comment by Githook User [ 03/Apr/19 ] |
|
Author: {'email': 'justin.seyster@mongodb.com', 'name': 'Justin Seyster', 'username': 'jseyster'}Message: |