opened
oleg-nenashev
username_0
See [JENKINS-48761](https://issues.jenkins-ci.org/browse/JENKINS-48761).

This change reverts new API usages in #3145 and some other places. I made a mistake with this APIs, and my action item is to create a unit test which verifies that the master is at least able to establish connection with an agent with old Remoting version.

<!-- Comment: 
If the issue is not fully described in the ticket, add more information here (justification, pull request links, etc.).

 * We do not require JIRA issues for minor improvements.
 * Bugfixes should have a JIRA issue (backporting process).
 * Major new features should have a JIRA issue reference.
-->

### Proposed changelog entries

* Major bug: Restore binary compatibility of Jenkins core logic with old Remoting versions to allow connecting old agents (regression in 2.98)
* ...

<!-- Comment: 
The changelogs will be integrated by the core maintainers after the merge.  See the changelog examples here: https://jenkins.io/changelog/ -->

### Submitter checklist

- [x] JIRA issue is well described
- [x] Changelog entry appropriate for the audience affected by the change (users or developer, depending on the change). [Examples](https://github.com/jenkins-infra/jenkins.io/blob/master/content/_data/changelogs/weekly.yml)
      * Use the `Internal: ` prefix if the change has no user-visible impact (API, test frameworks, etc.)
- [ ] Appropriate autotests or explanation to why this change has no tests
- [x] For dependency updates: links to external changelogs and, if possible, full diffs

<!-- For new API and extension points: Link to the reference implementation in open-source (or example in Javadoc) -->

### Desired reviewers

@reviewbybees @username_1 

<!-- Comment:
If you need an accelerated review process by the community (e.g., for critical bugs), mention @jenkinsci/code-reviewers
-->
[JENKINS-48761] - Restore binary compatibility with agents running old Remoting versions
issue
created
oleg-nenashev
username_0
The current code will run on Remoting agents 3.0+ at least, likely on even older ones
comment
created
oleg-nenashev
username_0
I could write a FindBugs detector for that, but it's hard do guarantee full
coverage. Maybe we should start from playing with createOnlineSlave() for
old Remoting versions and duplicate some tests
comment
created
oleg-nenashev
username_0
@jenkinsci/code-reviewers does it deserve an out-of-order release? I'd guess so, but maybe it makes sense to take another day for test automation, etc.
comment
created
jglick
username_1
I am not sure. It only affects people running old agent versions. If they are going to bother updating core to get an out-of-order release, maybe they could just as easily update their agent. No strong opinion.
comment
created
oleg-nenashev
username_0
Let's see. But we do not run ATH before weeklies now
comment
created
oleg-nenashev
username_0
@username_1 After some consideration I decided to write a test without Docker containers. It required doing some foundation work for [JENKINS-48766](https://issues.jenkins-ci.org/browse/JENKINS-48766), but I think we need to do it anyway.
comment
created
oleg-nenashev
username_0
@reviewbybees Needs re-reviews (mostly tests and Restricted logic in the core for enabling such kind of tests)
comment
created
oleg-nenashev
username_0
@username_1 addressed some comments. One biggest open question is `RemotingVersionInfo`. You propose to make the checks stricter and to throw exceptions on initialization errors. I kinda agree with that, but I propose to postpone it and to handle it in https://issues.jenkins-ci.org/browse/JENKINS-48766 while making the API public. 

Now it's used only for tests, and I would prefer to keep it permissive in order to avoid new regressions.
comment
created
oleg-nenashev
username_0
@reviewbybees done
@jenkinsci/code-reviewers I kindly ask for approval to got forward with merge and out-of-order release. Community stats are bad due to that regression:

![screen shot 2018-01-03 at 19 24 19](https://user-images.githubusercontent.com/3000480/34541586-19b5037a-f0d9-11e7-9889-f40bee703c8c.png)
comment
created
oleg-nenashev
username_0
Merging it, this change will unlikely make the situation worse
comment
created
oleg-nenashev
username_0
Retrospective thread: https://groups.google.com/forum/#!topic/jenkinsci-dev/-VQ5YU0yYhg
comment