[SERVER-25919] Rewrite NetworkInterfaceASIO stress test Created: 31/Aug/16  Updated: 21/Nov/16  Resolved: 02/Sep/16

Status: Closed
Project: Core Server
Component/s: Networking
Affects Version/s: None
Fix Version/s: 3.2.11, 3.3.14

Type: Task Priority: Major - P3
Reporter: Samantha Ritter (Inactive) Assignee: Matt Cotter
Resolution: Done Votes: 1
Labels: test-only
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Backport Completed:
Sprint: Platforms 2016-09-19
Participants:
Linked BF Score: 0

 Description   

The current stress test relies on inefficient primitives that cause contention in the test. We should re-host the test on top of a framework that does the following, rather than using Deferred:

  • test contains a mutex, a cond var, an array of N task results, and a count of completed tasks
  • launch N networking tasks, then wait on the cond var
  • when each task finishes, in its callback it:
    --> places its result within the results array
    --> updates the count of completed tasks
    --> if all tasks are complete, wakes up the main thread

Then, the main thread can go through the array of results and assert that each result is as expected. This should reduce flakiness in the test, in particular tasks that exceed the time limit because of contention in Deferred.



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

Author:

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

Message: SERVER-25919 make asio stress test less stressful
Branch: v3.2
https://github.com/mongodb/mongo/commit/424e1fd08ef0ed25a1c3546f70f0d1755bbde83e

Comment by Githook User [ 05/Oct/16 ]

Author:

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

Message: SERVER-25919 rewrite asio stress test
Branch: v3.2
https://github.com/mongodb/mongo/commit/f746f8b55d3529d3cf2832bb46fe921f78d9277c

Comment by Githook User [ 05/Oct/16 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: Revert "SERVER-25919 rewrite asio stress test"

This reverts commit 15bdad6f352cbc23cef3338fd57d61ac00cc6149.
Branch: v3.2
https://github.com/mongodb/mongo/commit/ceac8df2ac2fac51c12ba0c576aa953349da6418

Comment by Githook User [ 05/Oct/16 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: Revert "SERVER-25919 make asio stress test less stressful"

This reverts commit b114c68f6c5b8c386974922b1f4aff3bc06d9976.
Branch: v3.2
https://github.com/mongodb/mongo/commit/15ff9c78a8dfccd7ce2d2c861a646170e0cd41cc

Comment by Githook User [ 04/Oct/16 ]

Author:

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

Message: SERVER-25919 make asio stress test less stressful

(cherry picked from commit bb4ab61013c56be2d1a036b6e90a60209b3ca974)
Branch: v3.2
https://github.com/mongodb/mongo/commit/b114c68f6c5b8c386974922b1f4aff3bc06d9976

Comment by Githook User [ 04/Oct/16 ]

Author:

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

Message: SERVER-25919 rewrite asio stress test

The old test introduced a thread pool and deffered objects in the test
itself, which was often the bottle neck and therefore a poor stress test
of the actual system.

(cherry picked from commit 9dd6ba84b674356bf9a31ce416a383c8d559fcbd)
Branch: v3.2
https://github.com/mongodb/mongo/commit/15bdad6f352cbc23cef3338fd57d61ac00cc6149

Comment by Githook User [ 13/Sep/16 ]

Author:

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

Message: SERVER-25919 make asio stress test less stressful
Branch: master
https://github.com/mongodb/mongo/commit/bb4ab61013c56be2d1a036b6e90a60209b3ca974

Comment by Githook User [ 02/Sep/16 ]

Author:

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

Message: SERVER-25919 rewrite asio stress test

The old test introduced a thread pool and deffered objects in the test
itself, which was often the bottle neck and therefore a poor stress test
of the actual system.
Branch: master
https://github.com/mongodb/mongo/commit/9dd6ba84b674356bf9a31ce416a383c8d559fcbd

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