[SERVER-39763] transactions_target_at_point_in_time.js should disable expiring old chunk history Created: 22/Feb/19  Updated: 29/Oct/23  Resolved: 06/Sep/19

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.2.1, 4.3.1

Type: Bug Priority: Major - P3
Reporter: Jack Mulrow Assignee: Esha Maharishi (Inactive)
Resolution: Fixed Votes: 0
Labels: sharding-wfbf-day
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.2
Sprint: Sharding 2019-08-12, Sharding 2019-08-26, Sharding 2019-09-09
Participants:
Linked BF Score: 5

 Description   

transactions_target_at_point_in_time.js verifies sharded transactions with "snapshot" read concern target the shard that owned a chunk at the transaction's global read timestamp by starting a transaction, moving a chunk off an unrelated shard, then targeting that chunk and verifying a later statement in the transaction can still read from that chunk at the transaction's read timestamp by targeting the donor shard.

If the migration takes longer than the chunk history window (10 seconds), the multi-versioned routing table will no longer remember which shard owned the chunk at the transaction's global read timestamp, so the next statement will instead fail with StaleChunkHistory. This is the expected/desired behavior in this case, so the test should be able to tolerate this error by either retrying the operation at a higher timestamp (including the moveChunk) or by ignoring it.

Edit: Decided to just add a failpoint to the server to disable expiring stale chunk history and turn the failpoint on in the test.



 Comments   
Comment by Githook User [ 03/Oct/19 ]

Author:

{'name': 'Esha Maharishi', 'username': 'EshaMaharishi', 'email': 'esha.maharishi@mongodb.com'}

Message: SERVER-39763 transactions_target_at_point_in_time.js should disable expiring old chunk history

(cherry picked from commit 688368b4440c18bd048f122d8a729c26e9ad4a6e)
Branch: v4.2
https://github.com/mongodb/mongo/commit/2d671ab90e0282773ea89f1860705503dd5bf74d

Comment by Githook User [ 05/Sep/19 ]

Author:

{'name': 'Esha Maharishi', 'username': 'EshaMaharishi', 'email': 'esha.maharishi@mongodb.com'}

Message: SERVER-39763 transactions_target_at_point_in_time.js should disable expiring old chunk history
Branch: master
https://github.com/mongodb/mongo/commit/688368b4440c18bd048f122d8a729c26e9ad4a6e

Generated at Thu Feb 08 04:53:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.