[SERVER-48510] StorageTimestampTests::TimestampIndexOplogApplicationOnPrimary hangs due to race between _tryCommit and IndexBuildState::kInProgress Created: 30/May/20 Updated: 29/Oct/23 Resolved: 01/Jun/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc8, 4.7.0 |
| Type: | Bug | Priority: | Minor - P4 |
| Reporter: | Benety Goh | 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 | ||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||||||||||
| Sprint: | Execution Team 2020-06-15 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||
| Description |
|
This test may wait indefinitely as it is trying to apply the commitIndexBuild oplog entry. The index build commit code keeps checking the pre-commit condition every 100 ms. If the index build thread is still setting up when _tryCommit is trying to evaluate the pre-commit condition, the condition fails, leading to the test waiting indefinitely because OperationContext::sleepFor() never returns. The wait function in the OperationContext is dependent on the ClockSource installed in the ServiceContext. For the dbtests framework, the implementation used is the ClockSourceMock, which needs to be advanced explicitly by the test code. |
| Comments |
| Comment by Benety Goh [ 01/Jun/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: (cherry picked from commit 16d49c9b6496227aae24a0f7ead6dce5053b33d2 Branch: v4.4 |
| Comment by Githook User [ 01/Jun/20 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Benety Goh [ 30/May/20 ] |
|
Test case was last updated in |