[SERVER-64903] Make cancel_coordinate_txn_commit_with_tickets_exhausted.js robust to ShardServerCatalogCacheLoader performing deletes Created: 24/Mar/22  Updated: 29/Oct/23  Resolved: 28/Mar/22

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 6.0.0-rc0, 4.2.20

Type: Task Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Max Hirschhorn
Resolution: Fixed Votes: 0
Labels: sharding-nyc-subteam1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.2
Sprint: Sharding NYC 2022-04-04
Participants:
Linked BF Score: 62
Story Points: 2

 Description   

The cancel_coordinate_txn_commit_with_tickets_exhausted.js test relies on the hangWithLockDuringBatchRemove failpoint to have delete commands run by the removeOperation threads exhaust all available WiredTiger write tickets to test the TransactionCoordinator doesn't require acquiring a WiredTiger write ticket to avoid the transaction. However, the ShardServerCatalogCacheLoader thread may be updating the config.cache.chunks.test.mycoll entries and get blocked on the hangWithLockDuringBatchRemove instead. The assert.soon() + $currentOp run by the transactionThread thread continues to wait before proceeding to the next step of the test and lead the multi-statement transaction to time out after its 20 second transactionLifetimeLimitSeconds.

Running the {_flushRoutingTableCacheCommands: "test.mycoll"} command after collection is sharded and before the hangWithLockDuringBatchRemove failpoint is enabled to synchronize with the ShardServerCatalogCacheLoader thread performing its deletes.



 Comments   
Comment by Githook User [ 28/Mar/22 ]

Author:

{'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com', 'username': 'visemet'}

Message: SERVER-64903 Wait for ShardServerCatalogCacheLoader deletes in test.

The cancel_coordinate_txn_commit_with_tickets_exhausted.js test expects
the removeOperations threads to be the ones blocked on the
hangWithLockDuringBatchRemove failpoint and holding all available
WiredTiger write tickets.

(cherry picked from commit 59f2fcc33536dc6346e68d12cc0b9c8ef1b0b20c)
Branch: v4.2
https://github.com/mongodb/mongo/commit/5448856fd7cf65bd7d480f2028f04aa2e568ee75

Comment by Githook User [ 28/Mar/22 ]

Author:

{'name': 'Max Hirschhorn', 'email': 'max.hirschhorn@mongodb.com', 'username': 'visemet'}

Message: SERVER-64903 Wait for ShardServerCatalogCacheLoader deletes in test.

The cancel_coordinate_txn_commit_with_tickets_exhausted.js test expects
the removeOperations threads to be the ones blocked on the
hangWithLockDuringBatchRemove failpoint and holding all available
WiredTiger write tickets.
Branch: master
https://github.com/mongodb/mongo/commit/59f2fcc33536dc6346e68d12cc0b9c8ef1b0b20c

Generated at Thu Feb 08 06:01:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.