In case of having 1000s of ongoing builds opening main pages can take
some time if list of executors are opened. It happens because for every
queury that comes from jelly we re-calculate the value from scratch. And
calculation needs to load some builds from disk. The worst thing is that it
happens for every user separately.
(cherry picked from commit d7b120fea3)
Currently Jenkins to fire WorkflowJob re-calculates the ConstistentHash
for entire cluster even if there is no nodes were updated. If cluster is
big enough (>100 nodes), it becomes a problem, because MD5 is quite
expensive itself plus all this logic comes with high memory footprint.
Using the knowledge that WorkflowJob can be executed only on Jenkins master,
we can create a shortcut that does not do expensive calculation and just
returns Runnable or `null`.
(cherry picked from commit 00ccd23f64)
* Add getSystemProperty(key) to fix hudson.consoleTailKB system property
* Add Javadoc, @Restricted and delegate to SystemProperties
These changes were requested by @daniel-beck.
* PR was not merged in time for 2.96
* Changes as requested by @oleg-nenashev
(cherry picked from commit 006c51256e)
Every request that comes from Jelly is checked against Permissions.
As result it leads to a call of `getId` method that produces the new string.
Usually it's not a problem, but in case of stop-the-world pause user requests are accumulated.
So, once pause is finished, we forcibly allocated tons of strings for
every request. That leads to new stop-the-world pause. (And this cycle
can repeat multiple times)
(cherry picked from commit b2c40cb9e0)
* [JENKINS-48157] - Reproduce the issue in test
* [JENKINS-48157] - Annotate and document nullness conditions in MyViewsProperty and ViewGroupMixIn
* [FIXED JENKINS-48157] - Prevent NPEs when using public API and when using null primaryViewName
* [JENKINS-48157] - Fix typo in Javadoc
(cherry picked from commit 211b57e8b0)
* [JENKINS-34138] Adding equals/hashCode methods so that installs don't step on each other
* [JENKINS-34138] Added issue reference to unit tests
* [JENKINS-34138] - changed the order of equals / hashcode
(cherry picked from commit d688c15490)
* JENKINS-42852 add caching options for captcha
* - remove whitespace
* - correct unit tests
* - copy/paste is bad
* - second edit...
(cherry picked from commit 80d17f5a68)
* Fix JDKInstaller to work with old and new Oracle login flow
* Update Javadoc to explain that both login flows are supported
(cherry picked from commit 5c1fd7d603)
* JENKINS-47426: getPropertyKey is not consistent over time
- add passing test for the case the rootUrl is set
- add failing test for the case the rootUrl is not set yet, the propertyKey is not consistent
- add a warning message when the flow passes in the fallback mode
* - fixing the getEncryptedValue using a static memory
* - add issue annotations
* - modifications proposed by Jesse: use legacyId instead of randomId, stable over restart
* - small correction for a test case
* [JENKINS-44851] Agents JVM must be 1.8+ now
* [JENKINS-44851] Fix tests
* Fix old Java 6 and 7 tests (an exception is expected now)
* Add new tests to Java 8
* Fix messages