[SERVER-25476] Create WiredTiger recovery mongodb test from scripts Created: 21/Jun/16  Updated: 19/Nov/16  Resolved: 17/Oct/16

Status: Closed
Project: Core Server
Component/s: WiredTiger
Affects Version/s: None
Fix Version/s: 3.4.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Susan LoVerso Assignee: Susan LoVerso
Resolution: Done Votes: 0
Labels: WTSmallProject
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File wt_large_records_unclean_shutdown.js    
Backwards Compatibility: Fully Compatible
Sprint: Storage 2016-10-31
Participants:

 Description   

In WT-2696 there are three scripts that were able to test and verify a recovery bug in WT. The scripts are run2696.sh, insert.2696.js, check.2696.js. It would be great if we could add these to some regularly run mongodb test suite.



 Comments   
Comment by Githook User [ 11/Oct/16 ]

Author:

{u'username': u'Machyne', u'name': u'Matt Cotter', u'email': u'matt.cotter@mongodb.com'}

Message: SERVER-25476 fix lint
Branch: master
https://github.com/mongodb/mongo/commit/37b4f91ef59d6860cbe342641e8aba304ef826c4

Comment by Githook User [ 11/Oct/16 ]

Author:

{u'username': u'sueloverso', u'name': u'Susan LoVerso', u'email': u'sue@mongodb.com'}

Message: SERVER-25476 Add WT unclean shutdown recovery test.
Branch: master
https://github.com/mongodb/mongo/commit/7d8c005024e30183e3fbb9015db599a777155c29

Comment by Susan LoVerso [ 30/Aug/16 ]

alexander.gorrod I have a test working and I'm ready to push. Let's discuss if my process that I have written is out of date. I did run the test against 3.2.6 and it failed, finding the recovery bug, in 3 iterations. It has run a few dozen against master successfully so far.

Comment by Kamran K. [ 12/Aug/16 ]

The attached test has the logic for killing mongod and retrieving data from ScopedThreads. You can place it in jstests/noPassthrough and run this resmoke.py command to execute it:

python buildscripts/resmoke.py --executor=no_passthrough jstests/noPassthrough/wt_large_records_unclean_shutdown.js

Let me know if you have any questions.

Comment by Susan LoVerso [ 12/Aug/16 ]

kamran.khan and I had a call today. The summary is that the shell script from WT-2696 fits well with the model used in the JS tests. The logical home for this new test is in jstests/noPassthrough. Kamran is going to create a jstest file with the infrastructure needed to start/kill mongod and get information from scoped threads. That information takes the place of sending data to temp text files for later verification.

I will then fill in the parts specific for this test and run it on an old/unfixed version of WT to make sure we can reproduce the problem, and also on a current version where it should not reproduce.

Comment by Susan LoVerso [ 11/Aug/16 ]

alexander.gorrod Yes, automated WT test test/recovery/random-abort covers this issue. That test was modified to include reproducing this failure, as long as it is run with diagnostic enabled. The pull-request-tester Jenkins job configures with diagnostic and runs make check which will run this test every time.

Let me know who I should work with for the MongoDB reproducer scripts.

Comment by Alexander Gorrod [ 08/Aug/16 ]

sue.loverso I just went and looked at the original ticket, and it appears as though there is coverage for the failure in automated WiredTiger testing - is that correct?

ian.whalen Could you point me towards someone who could take some reproducer scripts and turn them into an automated test for MongoDB?

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