Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nunc Stans stress test should assert it has 95% or high connection success rate #2213

Closed
389-ds-bot opened this issue Sep 13, 2020 · 14 comments
Labels
closed: fixed Migration flag - Issue easy fix Fix is easy

Comments

@389-ds-bot
Copy link

Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/49154


Issue Description

The stress test often has connections time out, because it overwhelms the framework. This is normally in the order of 1%. We should assert that this is the case in the test for passing connections. For example, we don't want 90% of connections to timeout, even though the rest passes and matches.

@389-ds-bot 389-ds-bot added closed: fixed Migration flag - Issue easy fix Fix is easy labels Sep 13, 2020
@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-01 02:52:46

Metadata Update from @Firstyear:

  • Custom field type adjusted to defect
  • Issue assigned to Firstyear
  • Issue tagged with: Easyfix, Nunc Stans

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-10 04:48:48

0001-Ticket-49154-Nunc-Stans-stress-should-assert-it-has-.patch

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-10 04:49:36

Metadata Update from @Firstyear:

  • Custom field reviewstatus adjusted to review

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-10 07:33:17

0001-Ticket-49154-Nunc-Stans-stress-should-assert-it-has-.patch

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-10 07:49:25

0001-Ticket-49154-Nunc-Stans-stress-should-assert-it-has-.patch

@389-ds-bot
Copy link
Author

Comment from vashirov (@vashirov) at 2017-03-10 12:25:10

With the latest patch building in brew/mock fails on nuncstans test:

3 server_listen_accept: accept error for job [0x120578] -5971 Process open FD table is full
3 FAIL: Socket failed, -5971 -> (null)

I wonder if the limits should be adjusted in chroot or this test is too agressive?

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-11 00:24:47

The test has to be aggresive: We need to really "stress" the nunc-stans system to be sure it works. I can try turning it down a bit and see if that's better. What's the FD limit in chroots?

@389-ds-bot
Copy link
Author

Comment from vashirov (@vashirov) at 2017-03-11 14:16:29

I have 1024 in mock, I asssume brew/koji has the same default.

If the test has to be aggressive and we really want to push nunc-stans to the limits, shouldn't we not abuse the build system and run stress tests on a dedicated hardware in a controlled environment?

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-13 01:18:19

tl;dr - I will make a second test that does a smaller number under the 1024 fd mark (maybe under 512 even).

The reason I want this test here is that it often shows issues on different architectures like dropping connections or otherwise. It's hard for me to get access to any machines or platforms within RH. I only have my home lab, and it's x86_64 only.

We want to be finding these issues sooner rather than later. And now, it may be inconvenient during the build while we iron out the kinks, but I would rather have a build fail, then see a dodgy nunc-stans ever make it's way to a customer.

As a result, I think I will make a smaller test, that quickly checks a few of these assertions and threads. I think it's important for us to find these early. We can save the larger test for QE or for developers.

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-13 03:38:50

Okay, this patch makes the situation much better. I split it up to have two tests, a small and large. The small caps at 256 connections, ie 512 fds. This should keep us within the boundaries of mock, but still providing a quick sanity check that our work is correct. RPMS all build correctly, so lets see how this one goes.

0001-Ticket-49154-Nunc-Stans-stress-should-assert-it-has-.patch

@389-ds-bot
Copy link
Author

Comment from vashirov (@vashirov) at 2017-03-14 07:58:17

Build passes in brew/koji/mock now. Thanks!

@389-ds-bot
Copy link
Author

Comment from vashirov (@vashirov) at 2017-03-14 07:58:26

Metadata Update from @vashirov:

  • Custom field reviewstatus adjusted to ack (was: review)

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-14 08:00:37

commit 09ce17bb51ae500f9a110cd9c43ac3ff6c76babc
To ssh://git@pagure.io/389-ds-base.git
8dbfff1..b1b0574 master -> master

@389-ds-bot
Copy link
Author

Comment from firstyear (@Firstyear) at 2017-03-14 08:10:07

Metadata Update from @Firstyear:

  • Issue close_status updated to: fixed
  • Issue status updated to: Closed (was: Open)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed: fixed Migration flag - Issue easy fix Fix is easy
Projects
None yet
Development

No branches or pull requests

1 participant