[SERVER-30325] Cache transaction progress in the Session object Created: 25/Jul/17 Updated: 30/Oct/23 Resolved: 19/Sep/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Kaloian Manassiev | Assignee: | Kaloian Manassiev |
| 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: | Sharding 2017-10-02 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||
| Description |
|
Currently, checking for whether a write operation already executed is done by traversing the transaction's oplog chain. This is very inefficient because it has to be done for every single write operation in order to even find out whether it needs to be retried or not. In order to optimize this we will keep a cache of the last transaction's executed statements so they can be quickly checked. |
| Comments |
| Comment by Githook User [ 19/Sep/17 ] |
|
Author: {'username': 'kaloianm', 'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Githook User [ 19/Sep/17 ] |
|
Author: {'username': 'kaloianm', 'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Githook User [ 19/Sep/17 ] |
|
Author: {'username': 'kaloianm', 'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Max Hirschhorn [ 18/Sep/17 ] |
|
I re-opening this ticket so that Kal can remove the "TODO
|
| Comment by Ramon Fernandez Marina [ 15/Sep/17 ] |
|
Author: {'username': u'kaloianm', 'name': u'Kaloian Manassiev', 'email': u'kaloian.manassiev@mongodb.com'}Message: This makes the check for whether a statement executed take O(1) time |
| Comment by Ramon Fernandez Marina [ 14/Sep/17 ] |
|
Author: {'username': u'kaloianm', 'name': u'Kaloian Manassiev', 'email': u'kaloian.manassiev@mongodb.com'}Message:Revert " This reverts commit 3128427f77397916967e3eb684dfed845bb1638a. |
| Comment by Ramon Fernandez Marina [ 13/Sep/17 ] |
|
Author: {'username': u'kaloianm', 'name': u'Kaloian Manassiev', 'email': u'kaloian.manassiev@mongodb.com'}Message: This change exposes a single 'onWriteCompleted' method on the Session |
| Comment by Githook User [ 21/Aug/17 ] |
|
Author: {'username': 'visemet', 'email': 'max.hirschhorn@mongodb.com', 'name': 'Max Hirschhorn'}Message: This should avoid additional Evergreen failures from the |
| Comment by Githook User [ 14/Aug/17 ] |
|
Author: {'name': 'Kaloian Manassiev', 'username': 'kaloianm', 'email': 'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Githook User [ 12/Aug/17 ] |
|
Author: {'name': 'Kaloian Manassiev', 'username': 'kaloianm', 'email': 'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Kaloian Manassiev [ 10/Aug/17 ] |
|
Yes, we are just ironing the final wrinkles in the design. This will allow us to postpone writing the transaction record until the time when we know that a write has actually happened. Sorry for the delay. |
| Comment by Ian Whalen (Inactive) [ 10/Aug/17 ] |
|
kaloian.manassiev just a heads up that it would be great for the health of the build the sooner this can be worked on - it's currently the top failure in the build with ~130 failures since July 25th. |