Code changed in jenkins
User: Oleg Nenashev
Path:
core/src/main/java/jenkins/model/Jenkins.java
test/src/test/java/jenkins/model/JenkinsTest.java
http://jenkins-ci.org/commit/jenkins/3e2e01717976a1f1221874bfd576429c5c48b8a6
Log:
JENKINS-39465 - Fix the AgentProtocol settings persistency handling (#2621)
JENKINS-39465 - Tweak processing of enabled and disabled protocols in Jenkins instance
Due to whatever reason, without a definition of an array recipient field the data goes to the disk in the following way:
```
<enabledAgentProtocol>JNLP3-connect</enabledAgentProtocol>
<enabledAgentProtocol>JNLP4-connect</enabledAgentProtocol>
```
It is supposed to processed by Implicit array correctly, but it does not actually happen.
With a fix the data is being stored in another format:
```
<enabledAgentProtocols>
<string>JNLP3-connect</string>
<string>JNLP4-connect</string>
</enabledAgentProtocols>
```
This data now works correctly and gets deserialized correctly. readResolve() just adds a fallback for the case when Implicit array handling starts behaving correctly
.
JENKINS-39465 - Jenkins#agentProtocols cache must be invalidated when we reload the configuration
oleg_nenashev