[SERVER-42011] Create concurrency suites to enable WiredTiger eviction debugging mode Created: 28/Jun/19  Updated: 29/Oct/23  Resolved: 21/Aug/19

Status: Closed
Project: Core Server
Component/s: Storage, WiredTiger
Affects Version/s: None
Fix Version/s: 4.3.1

Type: Task Priority: Major - P3
Reporter: Eric Milkie Assignee: Louis Williams
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to SERVER-41492 Disable WiredTiger cursor caching and... Closed
is related to WT-4477 Add eviction debug mode and extra checks Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-08-12, Execution Team 2019-08-26
Participants:
Linked BF Score: 52

 Description   

WT-4477 provides a new debugging option for eviction, lookaside, and reconciliation. It would be useful to turn this on for at least one builder.



 Comments   
Comment by Githook User [ 21/Aug/19 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-42011 Create concurrency suite to enable WiredTiger eviction debugging mode
Branch: master
https://github.com/mongodb/mongo/commit/54d445e84388ae82477b0094bb35cb11830056d0

Comment by Maria van Keulen [ 19/Aug/19 ]

Thanks for the clarification, max.hirschhorn.

If we're interested in testing the interaction between debug builds and eviction debugging, perhaps we could add the new concurrency suites but only run them on debug builds.

Comment by Susan LoVerso [ 19/Aug/19 ]

We haven't done a side-by-side performance comparison but this additional debugging isn't just additional checking. The eviction debug mode changes algorithms to force more lookaside behavior. It would likely be a more noticeable impact than other debug-style checking. I would probably suggest being a bit more selective in turning it on, at least initially. Some tests or workloads may stress eviction more than others so the impact will vary.

Comment by Louis Williams [ 15/Aug/19 ]

sue.loverso, how expensive is this eviction debugging? Making new concurrency suites just to enable these debug checks doesn't make sense to me without testing any additional features. Could we just enable this in all debug builds? Our debug builds already perform additional runtime checks, and are often slower than other builds.

Comment by Max Hirschhorn [ 03/Aug/19 ]

Based on my understanding of WT-4477, I think adding new jstestfuzz_concurrent and jstestfuzz_concurrent_replication tasks with eviction debugging turned on makes sense.

maria.vankeulen, the mutational (jstestfuzz) fuzzer is only able to detect cases where the server crashes, hangs, or corrupts data. In particular, it won't detect data correctness issues because it makes no assertions about the server's response. My impression for SERVER-42011, SERVER-41492, and SERVER-41494 is that we should be configuring these options in some of the concurrency*.yml test suites as well.

Comment by Maria van Keulen [ 01/Aug/19 ]

Based on my understanding of WT-4477, I think adding new jstestfuzz_concurrent and jstestfuzz_concurrent_replication tasks with eviction debugging turned on makes sense. It seems like we should add them for the enterprise rhel 6.2 required builder as well as enterprise rhel 6.2 (majority read concern off).
CC milkie daniel.gottlieb

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