[SERVER-32776] Refresh rollback id cache on increment Created: 18/Jan/18 Updated: 30/Oct/23 Resolved: 13/Feb/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 3.6.2 |
| Fix Version/s: | 3.6.4, 3.7.3 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Judah Schvimer | Assignee: | Benety Goh |
| 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: | Repl 2018-02-12, Repl 2018-02-26 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
We currently empty the cache on increment and then refresh it when we call getRollbackID next. This means that server status calls can go to disk when the cache needs to be refreshed. Incrementing the rollback id happens during rollback (which is slow and rare) so it does not matter if we go to storage one more time. We should also refresh the cache on startup for the same reason. |
| Comments |
| Comment by Githook User [ 28/Mar/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: The OperationContext was previously used to retrieve the rollback ID from the (cherry picked from commit fab8bda84690299be8cce769309f4711484b3508) |
| Comment by Githook User [ 28/Mar/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: (cherry picked from commit 6353f3613ac73d67bc064f7bbc81f949e6542838) |
| Comment by Githook User [ 28/Mar/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: This forces the ReplicationProcess to update its cached rollback ID from storage. (cherry picked from commit ac82e9363affcbeedaec7a11d4539f58357cecda) |
| Comment by Githook User [ 28/Mar/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: (cherry picked from commit 9a8b7eab7bc024c004a2a791de556011a1cc1bfa) |
| Comment by Githook User [ 13/Feb/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: The OperationContext was previously used to retrieve the rollback ID from the |
| Comment by Githook User [ 13/Feb/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: |
| Comment by Githook User [ 13/Feb/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: This forces the ReplicationProcess to update its cached rollback ID from storage. |
| Comment by Githook User [ 12/Feb/18 ] |
|
Author: {'email': 'benety@mongodb.com', 'name': 'Benety Goh', 'username': 'benety'}Message: |
| Comment by Spencer Brody (Inactive) [ 18/Jan/18 ] |
|
This is only an issue in 3.6+, in 3.4 and prior the rbid was solely in memory, there was no on-disk representation. |