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

Memory leak related to resultCache in TestResultAction #652

Open
l-olsem opened this issue Sep 26, 2024 · 16 comments
Open

Memory leak related to resultCache in TestResultAction #652

l-olsem opened this issue Sep 26, 2024 · 16 comments
Labels

Comments

@l-olsem
Copy link

l-olsem commented Sep 26, 2024

Jenkins and plugins versions report

Environment

Jenkins: 2.462.1
OS: Linux - 6.8.4-3-pve
Java: 21.0.2 - <company-name-reducted> S.A. (OpenJDK 64-Bit Server VM)
---
all-changes:1.5
analysis-model-api:12.4.0
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
apache-httpcomponents-client-5-api:5.3.1-110.v77252fb_d4da_5
asm-api:9.7-33.v4d23ef79fcc8
authentication-tokens:1.119.v50285141b_7e1
badge:1.13
blueocean:1.27.14
blueocean-bitbucket-pipeline:1.27.14
blueocean-commons:1.27.14
blueocean-config:1.27.14
blueocean-core-js:1.27.14
blueocean-dashboard:1.27.14
blueocean-display-url:2.4.3
blueocean-events:1.27.14
blueocean-git-pipeline:1.27.14
blueocean-github-pipeline:1.27.14
blueocean-i18n:1.27.14
blueocean-jwt:1.27.14
blueocean-personalization:1.27.14
blueocean-pipeline-api-impl:1.27.14
blueocean-pipeline-editor:1.27.14
blueocean-pipeline-scm-api:1.27.14
blueocean-rest:1.27.14
blueocean-rest-impl:1.27.14
blueocean-web:1.27.14
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1178.v969d9eb_c728e
build-blocker-plugin:166.vc82fc20b_a_ed6
buildresult-trigger:0.18
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.0
cloudbees-bitbucket-branch-source:888.v8e6d479a_1730
cloudbees-folder:6.942.vb_43318a_156b_2
command-launcher:115.vd8b_301cc15d0
commons-compress-api:1.26.1-2
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.12.0-129.v99a_50df237f7
configuration-as-code:1850.va_a_8c31d3158b_
configuration-as-code-groovy:1.1
coverage:1.16.1
credentials:1371.vfee6b_095f0a_3
credentials-binding:681.vf91669a_32e45
cucumber-reports:5.8.3
dark-theme:479.v661b_1b_911c01
dashboard-view:2.517.v776a_b_811a_b_4e
data-tables-api:2.1.4-1
display-url-api:2.204.vf6fddd8a_8b_e9
durable-task:568.v8fb_5c57e8417
echarts-api:5.5.1-1
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1814.v404722f34263
envinject:2.919.v009a_a_1067cd0
envinject-api:1.199.v3ce31253ed13
extra-columns:1.26
favorite:2.221.v19ca_666b_62f5
flexible-publish:0.16.1
font-awesome-api:6.6.0-1
forensics-api:2.5.0
git:5.4.1
git-client:5.0.0
github:1.40.0
github-api:1.321-468.v6a_9f5f2d5a_7e
github-branch-source:1797.v86fdb_4d57d43
gitlab-plugin:1.8.1
groovy-postbuild:228.vcdb_cf7265066
gson-api:2.11.0-41.v019fcf6125dc
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
htmlpublisher:1.36
http_request:1.19
instance-identity:185.v303dc7c645f9
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-10
jaxb:2.3.9-1
jdk-tool:80.v8a_dee33ed6f0
jenkins-design-language:1.27.14
jersey2-api:2.44-151.v6df377fff741
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
job-dsl:1.88
jobConfigHistory:1241.v07634fa_18896
joda-time-api:2.12.7-29.v5a_b_e3a_82269a_
jquery3-api:3.7.1-2
json-api:20240303-41.v94e11e6de726
json-path-api:2.9.0-58.v62e3e85b_a_655
junit:1296.vb_f538b_c88630
mailer:472.vf7c289a_4b_420
matrix-auth:3.2.2
matrix-project:832.va_66e270d2946
metrics:4.2.21-451.vd51df8df52ec
mina-sshd-api-common:2.13.2-125.v200281b_61d59
mina-sshd-api-core:2.13.2-125.v200281b_61d59
monitoring:1.99.0
nested-view:1.34
next-executions:327.v136ff959e97b_
oic-auth:4.324.vfd49d010926b_
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
parameterized-trigger:806.vf6fff3e28c3e
people-view:1.2
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-graph-view:332.vb_232ced67fa_9
pipeline-groovy-lib:730.ve57b_34648c63
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-definition:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-extensions:2.2214.vb_b_34b_2ea_9b_83
pipeline-rest-api:2.34
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2214.vb_b_34b_2ea_9b_83
pipeline-stage-view:2.34
pipeline-utility-steps:2.17.0
plain-credentials:183.va_de8f1dd5a_2b_
plugin-util-api:4.1.0
postbuildscript:3.3.0-654.v67cf36130d78
prism-api:1.29.0-17
pubsub-light:1.18
rebuild:332.va_1ee476d8f6d
run-condition:1.7
scm-api:696.v778d637b_a_762
scoring-load-balancer:120.v5cc1a_77f0c09
script-security:999999-1341.va_2819b_414686-SNAPSHOT (private-a2819b41-dev)
sidebar-link:2.4.1
simple-theme-plugin:196.v96d9592f4efa_
snakeyaml-api:2.3-123.v13484c65210a_
sonar:2.17.2
sse-gateway:1.27
ssh-credentials:343.v884f71d78167
ssh-slaves:2.973.v0fa_8c0dea_f9f
sshd:3.330.vc866a_8389b_58
structs:338.v848422169819
test-results-analyzer:0.4.1
theme-manager:262.vc57ee4a_eda_5d
throttle-concurrents:2.14
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
view-job-filters:382.vdf2d5e3f02f0
warnings-ng:11.4.1
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3953.v19f11da_8d2fa_
workflow-durable-task-step:1371.vb_7cec8f3b_95e
workflow-job:1436.vfa_244484591f
workflow-multibranch:795.ve0cb_1f45ca_9a_
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:920.v59f71ce16f04

What Operating System are you using (both controller, and any agents involved in the problem)?

Controller: Ubuntu 20.04.6 LTS
Agents: Ubuntu 20.04.6 LTS

Reproduction steps

Having the resultCache of TestResultAction enabled caused a slow memory build up for us. The problem seems to have started 3-4 weeks ago when we probably updated plugins along with a needed restart we had to do.

From then on, in a weeks time, more and more heap was being used until we were exhausting the 60GiB max heap.

Expected Results

Memory usage should not steadily increase over time.

Actual Results

Memory steadily building up until OOM
image
Note that the smaller hile in the middle was due to an unrelated controller restart.

Sadly I cannot recall (or know where to lookup) what changed around 3,4 weeks ago when the memory build up started to happen. But it looks like a recent change caused this.

Anything else?

Clearing the resultCache (resultCache.clear()) freed up the 'lost' memory
image

We disabled the cache via hudson.tasks.junit.TestResultAction.RESULT_CACHE_ENABLED and from now (26/09/2024) on , it looks like the memory build up is not happening anymore.

Are you interested in contributing a fix?

Potentially yes, if can find some time, not an expert in Java though, so I might no be able to identify the source of the leak.

@l-olsem l-olsem added the bug label Sep 26, 2024
@timja
Copy link
Member

timja commented Sep 26, 2024

cc @mdealer would it be possible for you to take a look please?

@mdealer
Copy link
Contributor

mdealer commented Sep 26, 2024

What do you mean by OOM? Just a full heap is not an actual out of memory condition for garbage collected memory management.

Did Jenkins crash? If not, then it works as intended. SoftReferences are freed as soon as memory is required for something else, so test results remain in cache for as long as required. We see similar heap usage on our side too.

image

@l-olsem
Copy link
Author

l-olsem commented Sep 26, 2024

Yes Jenkins controller did indeed crash. The VM the Jenkins controller runs in has 64GiB of RAM. We have set a rather high limit for the heap, it was in the end not the JVM itself that threw a OutOfMemoryError but it was the system OOM killer.

Sep 15 21:33:54 jenkinscontroller-01 systemd[1]: trendiction-jenkins.service: A process of this unit has been killed by the OOM killer.
Sep 15 21:33:56 jenkinscontroller-01 systemd[1]: trendiction-jenkins.service: Main process exited, code=killed, status=9/KILL
Sep 15 21:33:56 jenkinscontroller-01 systemd[1]: trendiction-jenkins.service: Failed with result 'oom-kill'.

I do see the heap usage going up and down during the day for like you mention, but overall there is a tendency towards growing more and more slowly over the week until the machine is OOM.

So maybe it is a mistake to give it that much heap, (there is nothing running next to the jenkins controller inside the VM), so I though 60GiB should be ok. I am going to test with 50GiB of max heap and re-enable the junit cache and see what happens.

@mdealer
Copy link
Contributor

mdealer commented Sep 26, 2024

We use OpenJDK 17 on our side plus these JVM args:

-Xms32g
-Xmx64g
-XX:+UseG1GC
-XX:+AlwaysPreTouch
-XX:+UseStringDeduplication
-XX:+ParallelRefProcEnabled
-XX:+ExplicitGCInvokesConcurrent

Also, anecdotally, a while ago we determined that workspace locator crashes our instance in the same way by an OOM. We weren't able to find a correlation with resultCache at that time. Maybe something to try to rule this out by setting a system property:
jenkins.branch.WorkspaceLocatorImpl.Mode=jenkins.branch.WorkspaceLocatorImpl.Mode.DISABLED
The latter is of temporary nature, I think, as it might stop deleting workspaces on nodes.

Maybe you could get down to what kind of objects are actually piling by looking at a dump?

@l-olsem
Copy link
Author

l-olsem commented Sep 26, 2024

Thank you for sharing the flags and infos. I will check how to integrate them / consolidate them with what we currently have.
Currently we do not set an explicit GC, so by default we get G1.

The JVM should be container aware(we are running inside lxc container), but only if the cgroup setup is proper I guess

import java.lang.management.ManagementFactory
def osBean = ManagementFactory.getOperatingSystemMXBean()
println "OS Total Physical Memory: ${osBean.getTotalPhysicalMemorySize() / (1024 * 1024)} MB"

// output: OS Total Physical Memory: 128717.92578125 MB

This is the hosts ram (128GiB), so that might be fishy.
Also, java -XshowSettings:system -version shows Memory Limit: Unlimited but not sure if that is relevant.

My current hypothesis is that we are lacking GC pressure and the JVM was happy to trade GC time vs memory usage (since host memory was doing fine)

Shortly before Jenkins was killed by the oom-killer, i manually triggered a heapdump creation and ran it through Eclipse Memory Analyzer using the leak report. Both reports point to the ConcurrentHashMap of the resultCache.

suspect 1

image

suspect 2

image

It is unclear to me how meaningful these reports are given that the JVM might be misjudging the free ram of the system it is running on.

@mdealer
Copy link
Contributor

mdealer commented Sep 27, 2024

In the Groovy script console, you could execute this to see how bad the map grows:
println hudson.tasks.junit.TestResultAction.resultCache.size()

And you could check what test results are actually there:

hudson.tasks.junit.TestResultAction.resultCache.each { 
  println it.key
}
return

And you could also run this to clear it:
hudson.tasks.junit.TestResultAction.resultCache.clear()

Also, check that the cleanup of empty SoftReferences is actually called, this value should change every now and then by itself:
println hudson.tasks.junit.TestResultAction.lastCleanupNs

Could help to get closer to the root cause of this.

@l-olsem
Copy link
Author

l-olsem commented Sep 27, 2024

I began to suspect the size of the cache results to be the problem so I changed the config to the following, expecting this to be also be a working solution in our setup

hudson.tasks.junit.TestResultAction.resultCache.clear()
hudson.tasks.junit.TestResultAction.LARGE_RESULT_CACHE_THRESHOLD = 100
hudson.tasks.junit.TestResultAction.RESULT_CACHE_ENABLED = true

However to my surprise after couple of hours I ran this

println("RESULT_CACHE_ENABLED: ${hudson.tasks.junit.TestResultAction.RESULT_CACHE_ENABLED}")
println("LARGE_RESULT_CACHE_THRESHOLD: ${hudson.tasks.junit.TestResultAction.LARGE_RESULT_CACHE_THRESHOLD}")
println("Current resultCache size: ${hudson.tasks.junit.TestResultAction.resultCache.size()}")
println ("lastCleanupNs: ${hudson.tasks.junit.TestResultAction.lastCleanupNs}")
println("diff: ${System.nanoTime() - hudson.tasks.junit.TestResultAction.lastCleanupNs}")

Sample output

RESULT_CACHE_ENABLED: true
LARGE_RESULT_CACHE_THRESHOLD: 100
Current resultCache size: 375
lastCleanupNs: 115422569121994
diff: 2220287921

The surprise is that LARGE_RESULT_CACHE_THRESHOLD is not respect apparently.

Using a job where I know that rarely anybody is opening the testReport page, I can confirm that when i open the testReport then lastCleanupNs updates to a new value and the resultCache size increases by one. I was able to repeat this a couple of times using different builds. Refreshing the page did not make the counter increase.

Now the line if (v.get() == null) { looks suspicious to me. It does not seem to 'ever' be true for us.
I do not see the reason for this null check beyond wanting to remove the key.

Is the code that should make resultCache respect LARGE_RESULT_CACHE_THRESHOLD missing or is it expected for the TestResult reference to become null at some point?

The list of keys looks normal to me (387 at the time of printing me)
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/258/junitResult.xml
/home/jenkins/data/jobs/AILlmLlama2GpuTest_mr/builds/14/junitResult.xml
/home/jenkins/data/jobs/TWClientSide-UnitTest_mr/builds/13/junitResult.xml
/home/jenkins/data/jobs/AIAbstractSummaryGpuTest_master/builds/42/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/851/junitResult.xml
/home/jenkins/data/jobs/AILlmLlama2GpuTest_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/255/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-LiveTest_payment-20240610/builds/40/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/854/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/252/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/149/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/143/junitResult.xml
/home/jenkins/data/jobs/AITextClassificationSentimentGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/PolyLiveTest_master/builds/46/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-ExportTest_master/builds/304/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/272/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/140/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerprocessing-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/AIEmbeddingsMinilmGpuTest_master/builds/40/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_master/builds/627/junitResult.xml
/home/jenkins/data/jobs/AITextAnnotationNerAnnotationTest_master/builds/45/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_master/builds/624/junitResult.xml
/home/jenkins/data/jobs/AIEmbeddingsParaphraseGpuTest_master/builds/42/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-ReleaseTest_payment-20240610/builds/86/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/536/junitResult.xml
/home/jenkins/data/jobs/AlfredProd-LiveTest_master/builds/672/junitResult.xml
/home/jenkins/data/jobs/AITextClusteringSbertHdbscanTest_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/860/junitResult.xml
/home/jenkins/data/jobs/AILlmLlama2GpuTest_master/builds/32/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/863/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/866/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/137/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/134/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/267/junitResult.xml
/home/jenkins/data/jobs/OracleEnd2End-Test_master/builds/215/junitResult.xml
/home/jenkins/data/jobs/AITimeseriesForecast90dForecastTest_master/builds/41/junitResult.xml
/home/jenkins/data/jobs/TWSecurityTest_master/builds/288/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/131/junitResult.xml
/home/jenkins/data/jobs/CaffeGpuTestAmpereUbuntu20_master/builds/218/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/270/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/848/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/Authserver-IntegrationTest_master/builds/247/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/857/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/261/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/264/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/869/junitResult.xml
/home/jenkins/data/jobs/Complianceservice-IntegrationTest_mr/builds/6/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/872/junitResult.xml
/home/jenkins/data/jobs/AILlmInsightGpuTest_master/builds/34/junitResult.xml
/home/jenkins/data/jobs/DeployscriptsTestQuick_master/builds/66/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/125/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/875/junitResult.xml
/home/jenkins/data/jobs/Authserver-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/269/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/521/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/266/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_master/builds/223/junitResult.xml
/home/jenkins/data/jobs/Authserver-LiveTest_mr/builds/4/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/128/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-LiveTest_mr/builds/8/junitResult.xml
/home/jenkins/data/jobs/AILlmLlama2GpuTest_master/builds/44/junitResult.xml
/home/jenkins/data/jobs/TwRiddler-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/504/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/251/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-LiveTest_master/builds/42/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/254/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/260/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/263/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/501/junitResult.xml
/home/jenkins/data/jobs/AILlmSummaryGpuAB_custom/builds/113/junitResult.xml
/home/jenkins/data/jobs/AlfredBeta-LiveTest_master/builds/667/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_master/builds/278/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_master/builds/358/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_mr/builds/30/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/257/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/518/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/527/junitResult.xml
/home/jenkins/data/jobs/AITextClassificationTargetedSentimentGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/512/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/524/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_master/builds/278/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/530/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/533/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/257/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/260/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-LiveTest_payment-20240610/builds/14/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_mr/builds/6/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/278/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/266/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/269/junitResult.xml
/home/jenkins/data/jobs/DataBackend-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/AIChatTest_mr/builds/25/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/263/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/254/junitResult.xml
/home/jenkins/data/jobs/Alfred-UnitTest_master/builds/211/junitResult.xml
/home/jenkins/data/jobs/IntegrationTest_mr/builds/160/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/272/junitResult.xml
/home/jenkins/data/jobs/PenitentiaryTest_master/builds/46/junitResult.xml
/home/jenkins/data/jobs/AITextClassificationLlmZeroshotGpuTest_mr/builds/6/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/OracleEnd2End-Test_master/builds/262/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/256/junitResult.xml
/home/jenkins/data/jobs/Alfred-UnitTest_master/builds/210/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/253/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/259/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/250/junitResult.xml
/home/jenkins/data/jobs/Alfred-UnitTest_master/builds/213/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_master/builds/277/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/528/junitResult.xml
/home/jenkins/data/jobs/TWSecurityTest_master/builds/290/junitResult.xml
/home/jenkins/data/jobs/Authserver-LiveTest_master/builds/46/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/503/junitResult.xml
/home/jenkins/data/jobs/Alfred-UnitTest_mr/builds/2/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/506/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-IntegrationTest_master/builds/277/junitResult.xml
/home/jenkins/data/jobs/TwRiddler-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/TWSecurityTest_master/builds/287/junitResult.xml
/home/jenkins/data/jobs/DataBackend-IntegrationTest_mr/builds/74/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/272/junitResult.xml
/home/jenkins/data/jobs/AlfredBeta-LiveTest_master/builds/673/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/268/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-HootsuiteIntegrationTest_master/builds/309/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/151/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/247/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_mr/builds/23/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_mr/builds/20/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/262/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/265/junitResult.xml
/home/jenkins/data/jobs/AlfredBeta-LiveTest_master/builds/670/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/516/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/513/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/525/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_master/builds/280/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/537/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/522/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/534/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/FrontendInfra-UnitTest_master/builds/214/junitResult.xml
/home/jenkins/data/jobs/FrontendInfra-UnitTest_master/builds/211/junitResult.xml
/home/jenkins/data/jobs/Authserver-IntegrationTest_mr/builds/6/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerapi-IntegrationTest_mr/builds/17/junitResult.xml
/home/jenkins/data/jobs/AITextAnnotationNerAnnotationWikidataGpuTest_mr/builds/5/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerprocessing-IntegrationTest_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/262/junitResult.xml
/home/jenkins/data/jobs/AISpeechToTextSpeechtotextGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/268/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/265/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/858/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_master/builds/625/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/861/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/864/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/271/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_mr/builds/12/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/OracleEnd2End-Test_mr/builds/2/junitResult.xml
/home/jenkins/data/jobs/AlfredProd-LiveTest_master/builds/673/junitResult.xml
/home/jenkins/data/jobs/AlfredProd-LiveTest_master/builds/670/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1834/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/256/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/253/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1837/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_master/builds/277/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/259/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/849/junitResult.xml
/home/jenkins/data/jobs/TWClientSide-UnitTest_master/builds/714/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_mr/builds/13/junitResult.xml
/home/jenkins/data/jobs/Complianceservice-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/873/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_mr/builds/28/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/870/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_mr/builds/25/junitResult.xml
/home/jenkins/data/jobs/CaffeGpuTest_mr/builds/3/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_master/builds/356/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_master/builds/353/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/867/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/852/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/855/junitResult.xml
/home/jenkins/data/jobs/CustomTask-Live_any/builds/11/junitResult.xml
/home/jenkins/data/jobs/AIImageAnnotationOcrAnnotationGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_mr/builds/31/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/517/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/270/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_mr/builds/2/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/511/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_master/builds/357/junitResult.xml
/home/jenkins/data/jobs/AITextClassificationLlmZeroshotGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/DataBackend-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-HootsuiteIntegrationTest_master/builds/307/junitResult.xml
/home/jenkins/data/jobs/AITextAnnotationNerAnnotationWikidataGpuTest_master/builds/41/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_mr/builds/30/junitResult.xml
/home/jenkins/data/jobs/FrontendInfra-UnitTest_master/builds/213/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-ExportTest_mr/builds/36/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/121/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/248/junitResult.xml
/home/jenkins/data/jobs/Authserver-LiveTest_mr/builds/2/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/DeployscriptsTestQuick_master/builds/50/junitResult.xml
/home/jenkins/data/jobs/AILlmInsightGpuTest_master/builds/41/junitResult.xml
/home/jenkins/data/jobs/AITextTransformationEmailExtractorTest_master/builds/42/junitResult.xml
/home/jenkins/data/jobs/AlfredBeta-LiveTest_master/builds/674/junitResult.xml
/home/jenkins/data/jobs/AlfredBeta-LiveTest_master/builds/671/junitResult.xml
/home/jenkins/data/jobs/Authserver-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerapi-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/IntegrationTest_mr/builds/164/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/264/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/261/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/267/junitResult.xml
/home/jenkins/data/jobs/AILlmInsightGpuTest_mr/builds/19/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/124/junitResult.xml
/home/jenkins/data/jobs/AIEngagementForecastEngagementForecastTest_master/builds/45/junitResult.xml
/home/jenkins/data/jobs/AITextAnnotationAspectExtractionGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/127/junitResult.xml
/home/jenkins/data/jobs/Acme-IntegrationTest_mr/builds/7/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_mr/builds/26/junitResult.xml
/home/jenkins/data/jobs/PolyIntegrationTest_mr/builds/29/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/258/junitResult.xml
/home/jenkins/data/jobs/DataBackend-IntegrationTest_master/builds/268/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/255/junitResult.xml
/home/jenkins/data/jobs/CaffeGpuTestPascalUbuntu20_master/builds/172/junitResult.xml
/home/jenkins/data/jobs/AIChatTest_mr/builds/24/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/252/junitResult.xml
/home/jenkins/data/jobs/Alfred-UnitTest_master/builds/212/junitResult.xml
/home/jenkins/data/jobs/Complianceservice-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-IntegrationTest_mr/builds/8/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-IntegrationTest_mr/builds/10/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/262/junitResult.xml
/home/jenkins/data/jobs/NifiProcessorsTest_master/builds/1/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-ReleaseTest_payment-20240610/builds/79/junitResult.xml
/home/jenkins/data/jobs/TWClientSide-UnitTest_master/builds/712/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/265/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/268/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/271/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_mr/builds/14/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/136/junitResult.xml
/home/jenkins/data/jobs/PolyLiveTest_mr/builds/8/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/133/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/145/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/139/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/142/junitResult.xml
/home/jenkins/data/jobs/AIEmbeddingsParaphraseGpuTest_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/148/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/266/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/251/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/850/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/269/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-LiveTest_master/builds/46/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-LiveTest_master/builds/43/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerapi-IntegrationTest_master/builds/272/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/263/junitResult.xml
/home/jenkins/data/jobs/TWAdminPreMerge_mr/builds/98/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/853/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/260/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/254/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1830/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/847/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/257/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1836/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_master/builds/626/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/859/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/856/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-ExportTest_master/builds/305/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerprocessing-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/250/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerprocessing-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/CaffeGpuTest_master/builds/169/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/256/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/253/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/259/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/271/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/AlfredProd-LiveTest_master/builds/671/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/868/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1832/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerapi-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/CustomTask-Live_any/builds/15/junitResult.xml
/home/jenkins/data/jobs/AlfredProd-LiveTest_master/builds/674/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/265/junitResult.xml
/home/jenkins/data/jobs/CustomTask-Normal_any/builds/4/junitResult.xml
/home/jenkins/data/jobs/AIChatTest_mr/builds/22/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/266/junitResult.xml
/home/jenkins/data/jobs/TWClientSide-UnitTest_master/builds/713/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/253/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/269/junitResult.xml
/home/jenkins/data/jobs/Complianceservice-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/874/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/871/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/259/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/865/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/272/junitResult.xml
/home/jenkins/data/jobs/TestScout_master/builds/862/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/260/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/256/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/263/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/262/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/268/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-IntegrationTest_mr/builds/32/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-ExportTest_mr/builds/31/junitResult.xml
/home/jenkins/data/jobs/LiveTest_mr/builds/59/junitResult.xml
/home/jenkins/data/jobs/TWClientSide-UnitTest_master/builds/706/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/264/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/276/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1838/junitResult.xml
/home/jenkins/data/jobs/HootsuiteIntegration-LiveTest_master/builds/1835/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/258/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-ExportTest_master/builds/306/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/270/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/267/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/261/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerapi-IntegrationTest_mr/builds/18/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/252/junitResult.xml
/home/jenkins/data/jobs/Miriv5-IntegrationTest_master/builds/255/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_mr/builds/21/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_mr/builds/7/junitResult.xml
/home/jenkins/data/jobs/DeployscriptsTestHeavy_master/builds/40/junitResult.xml
/home/jenkins/data/jobs/AlfredPreMerge_mr/builds/4/junitResult.xml
/home/jenkins/data/jobs/DataBackend-IntegrationTest_mr/builds/73/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/535/junitResult.xml
/home/jenkins/data/jobs/Talkwalkerprocessing-IntegrationTest_master/builds/277/junitResult.xml
/home/jenkins/data/jobs/AITextClassificationEmotionGpuTest_master/builds/38/junitResult.xml
/home/jenkins/data/jobs/AITextClusteringSbertHdbscanTest_master/builds/37/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/249/junitResult.xml
/home/jenkins/data/jobs/IntegrationTest_mr/builds/153/junitResult.xml
/home/jenkins/data/jobs/DataBackend-IntegrationTest_master/builds/275/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/277/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/271/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/257/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerHootsuite-IntegrationTest_master/builds/274/junitResult.xml
/home/jenkins/data/jobs/IntegrationTest_mr/builds/165/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/254/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-IntegrationTest_master/builds/251/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-NavigationTest_master/builds/512/junitResult.xml
/home/jenkins/data/jobs/AISpeechToTextSpeechtotextGpuTest_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/502/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/144/junitResult.xml
/home/jenkins/data/jobs/TWAdmin-LiveTest_master/builds/16/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-HootsuiteIntegrationTest_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/526/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/523/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/258/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/255/junitResult.xml
/home/jenkins/data/jobs/DeployscriptsTestHeavy_any/builds/4/junitResult.xml
/home/jenkins/data/jobs/Socialsitesetup-LiveTest_mr/builds/7/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_master/builds/264/junitResult.xml
/home/jenkins/data/jobs/WIPVenkatTalkwalker-IntegrationTest_master/builds/1/junitResult.xml
/home/jenkins/data/jobs/Talkwalker-IntegrationTest_master/builds/279/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/129/junitResult.xml
/home/jenkins/data/jobs/TWSecurityTest_master/builds/286/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/252/junitResult.xml
/home/jenkins/data/jobs/DeployscriptsTestHeavy_master/builds/25/junitResult.xml
/home/jenkins/data/jobs/TWClientSide-UnitTest_mr/builds/11/junitResult.xml
/home/jenkins/data/jobs/TWEnd2End-HootsuiteIntegrationTest_master/builds/308/junitResult.xml
/home/jenkins/data/jobs/TWSecurityTest_master/builds/289/junitResult.xml
/home/jenkins/data/jobs/Authserver-IntegrationTest_master/builds/273/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/261/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/520/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/267/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/264/junitResult.xml
/home/jenkins/data/jobs/TWHootsuitePreMerge_mr/builds/1/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/138/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/123/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/150/junitResult.xml
/home/jenkins/data/jobs/Search-IntegrationTest_master/builds/270/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/508/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/126/junitResult.xml
/home/jenkins/data/jobs/AlfredBeta-LiveTest_master/builds/672/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/147/junitResult.xml
/home/jenkins/data/jobs/AIChatTest_master/builds/45/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/141/junitResult.xml
/home/jenkins/data/jobs/TalkwalkerPreMerge_mr/builds/505/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/135/junitResult.xml
/home/jenkins/data/jobs/SearchPreMerge_mr/builds/132/junitResult.xml
/home/jenkins/data/jobs/AILlmInsightGpuTest_mr/builds/18/junitResult.xml

@mdealer
Copy link
Contributor

mdealer commented Sep 27, 2024

SoftReferences are nullified by the GC when it frees the contents. The GC decides this on its own, there is no hard limit. If the GC never does that for any reason, then the cache keeps growing.

LARGE_RESULT_CACHE_THRESHOLD is not a cleanup of the cache, but a catch-up with GC operations, there is no hard limit here, just the available memory and GC. The catch-up is pointless if the map is small enough (the taken memory being less of a burden than iterating through the map).

So, we need to find out why is GC not doing its job for you. Can you reduce the memory further to see what changes in behavior?

EDIT:
In the meantime I will check how to extend the cleanup procedure, because in theory, as long as nothing touches the test results, the map could be growing (there is a put operation without cleanup). Though, your findings contradict this, because by disabling resultCache the put is not skipped.

@l-olsem
Copy link
Author

l-olsem commented Sep 27, 2024

I am not sure if the disabling of the resultCache for sure fixed it, i would need to wait a couple of days to 100% confirm that.

EDIT:
What I know is that resultCache.clear() gave me back the memory.

I tried a System.gc() just now, it did not help, the resultCache size remained the same, I will take another heapdump to try to figure out what is holding on to the TestResult.

Note that since i opened the ticket i have not changed any JVM settings, I currently only have prod available to test :-)

@mdealer
Copy link
Contributor

mdealer commented Sep 27, 2024

Try this to check if it is full of nulls or not:

hudson.tasks.junit.TestResultAction.resultCache.each { 
  println it.value.get()
}
return

@l-olsem
Copy link
Author

l-olsem commented Sep 27, 2024

No, not a single null, getting a long list of the kind java.lang.ref.SoftReference@25a64b02

@mdealer
Copy link
Contributor

mdealer commented Sep 27, 2024

I forgot .get() at the end...

@l-olsem
Copy link
Author

l-olsem commented Sep 27, 2024

Still not a single null, lots of the kind hudson.tasks.junit.TestResult@5aeee99c

@mdealer
Copy link
Contributor

mdealer commented Sep 27, 2024

Observe this for some time and report back.

@l-olsem
Copy link
Author

l-olsem commented Sep 27, 2024

When i go to a specific entry of TestResult in the heapdump and list all incoming references i get this
image

Which maybe looks normal, I do not know.

What confuses me is what i see when i open resultCache
image

I am not sure how to interpret the mention of class TestResultAction after opening the dropdown

@mdealer
Copy link
Contributor

mdealer commented Sep 27, 2024

The reference from EntrySetView could be the .forEach that cleans up the nulls, but all of these should be SoftReference, so unless there is a bug in this specific constellation with this GC, not sure what to try other than the VM options.

We run tests until the disk runs out of space on our side, need to dig a bit more on your setup. Next to try would be the JVM args and system props plus observations.

Also, is it possible that we run into https://bugs.openjdk.org/browse/JDK-8192647 by a coincidence like those workspace locator threads?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants