-
-
Notifications
You must be signed in to change notification settings - Fork 68
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
LambdaLoadTests not executing correctly #379
Comments
Raised adoptium/STF#90 to fix the inactivity timeout limit in STF. |
After more testing with the fix for adoptium/STF#90 shows a couple of other issues:
The TestParallelStreamOperations.java uses c. 300Mb heap per invocation on 64bit jvms, and the test contains code which limits the number of concurrent instances of the test within a jvm at one time to two. Also, because these tests take much longer to complete than any other tests in the workload a test workload with the current settings of 200 tests actually runs the two instances of TestParallelStreamOperations.java and 198 tests from the remaining tests in the workload (or invocations of TestParallelStreamOperations.java which terminate immediately because they detect there are already two instances running). I suggest therefore that TestParallelStreamOperations.java test be split out from the current LambdaLoadTest replacing the current workload by two different ones:
@Mesbah-Alam , @smlambert - are you OK with this suggestion? If so I'll go ahead and test whether it resolves the issues we are seeing. |
That seems like a reasonable approach @lumpfish (and gets these tests back to running...) I am assuming you are satisfied that the proposal still means the (newly split out) LambdaLoadTests exercise the JVM sufficiently to achieve their stated intent (from my high level read of this, that is the case). |
The change sounds reasonable to me too. Thanks for discovering this issue @lumpfish. Please create the PR with the change. |
The test workload is comprised of tests which exercise specific areas of jdk functionality which are then run repeatedly and on multiple threads, The goal is primarily to uncover any reliability issues in the jdk class libraries, jit compilation or gc. The tests are not specifically designed to coexist with others, and resource hungry tests (such as the TestParallelStreamsOperations test) can affect other tests in the workload in unforeseen ways, Running that test separately is the best approach I think - the jvm can be given the options required to ensure that test will run successfully, so that any failures can be relied on as being issues with the jdk), whereas the remaining tests in the workload can be treated more flexibly in terms of allowing the jdk to select a heap size based on the memory available in the test machine and allowing the load test framework to select the number of threads to run in the workload based on the cpus available. I'll work on a PR to split the tests and calibrate both the new workloads. |
PR's:
|
Fixed by #401 and adoptium/aqa-tests#2229, closing |
#216 added
setInactivityLimit
as a parameter to the LambdaLoadTest.However, a bug in STF means that this has a side effect of preventing most of the tests in the test suite from running.
A typical test output is currently:
Note the following lines in the output:
When
inactivityLimit
is specified, STF is incorrectly settingtimeLimitedTest
totrue
. This in turn means that once the test starts its elapsed time is compared with thetimeLimit
ofnull
which is interpreted as being exceeded and the test in terminated.The test output should really look something like:
The text was updated successfully, but these errors were encountered: