[SERVER-5175] Need "failpoints" system to facilitate testing core server. Created: 02/Mar/12  Updated: 11/Jul/16  Resolved: 09/Oct/12

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 2.3.0

Type: New Feature Priority: Major - P3
Reporter: Andy Schwerin Assignee: Randolph Tan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-4661 Mongos doesn't detect primary change ... Closed
is depended on by SERVER-5523 Create test for SERVER-5480 Closed
is depended on by SERVER-5184 Write test for SERVER-5157 Closed
Duplicate
is duplicated by SERVER-5176 Create a framework for conditional ac... Closed
is duplicated by SERVER-6404 Create fault injection library Closed
Related
related to SERVER-5092 Better named logging with tracing Closed
Backwards Compatibility: Fully Compatible
Participants:

 Description   

A failpoints system would allow us to write tests involving rare occurrences in the core server. The idea comes from the BSD kernel, where failpoints set by sysctl are used to test unusual control paths in kernel components. It is also effective for testing race conditions, especially if you can enable/disable the failpoints in an online fashion.



 Comments   
Comment by auto [ 09/Oct/12 ]

Author:

{u'date': u'2012-10-09T09:59:01-07:00', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}

Message: SERVER-5175 Visual Studio – add fail_point_* files
Branch: master
https://github.com/mongodb/mongo/commit/7418173c31f490ead15b556f95ee539299d87051

Comment by auto [ 09/Oct/12 ]

Author:

{u'date': u'2012-10-08T13:54:20-07:00', u'email': u'randolph@10gen.com', u'name': u'Randolph Tan'}

Message: SERVER-5175 Need "failpoints" system to facilitate testing core server

Step2: Implement infrastructure for accessing fail points externally
Branch: master
https://github.com/mongodb/mongo/commit/4baf84e48b3e413f4fb46af69b7e6a3f29f56cdd

Comment by auto [ 04/Oct/12 ]

Author:

{u'date': u'2012-10-04T16:19:04-07:00', u'email': u'randolph@10gen.com', u'name': u'Randolph Tan'}

Message: SERVER-5175 modified tests to better print errors
Branch: master
https://github.com/mongodb/mongo/commit/966a5473ad1eb7d847da5e2f8c81e0e2e1b3ce9d

Comment by auto [ 04/Oct/12 ]

Author:

{u'date': u'2012-09-19T13:32:42-07:00', u'email': u'randolph@10gen.com', u'name': u'Randolph Tan'}

Message: SERVER-5175 Need "failpoints" system to facilitate testing core server

Step 1: Implement and test the FailPoint class
Branch: master
https://github.com/mongodb/mongo/commit/997b1c3718b378e4096fb708e054644690b38c4d

Comment by Andy Schwerin [ 12/Apr/12 ]

Yeah. The trick is that I want to be able to put this in places that are typically code hot spots, and leave it in in release builds. The only thing you need in order to get that is to get the string comparison out of the activation check at runtime. Not rocket science, certainly.

Comment by Chris Westin [ 12/Apr/12 ]

I've done this before using the same mechanism as the one I proposed in SERVER-5092. You just need to be able to check on the activation of named items.

Generated at Thu Feb 08 03:08:07 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.