[JIRA] (JENKINS-57411) Upgrade github-branch-source-plugin to use okhttp3

42 views
Skip to first unread message

bitwiseman@gmail.com (JIRA)

unread,
May 10, 2019, 10:09:02 PM5/10/19
to jenkinsc...@googlegroups.com
Liam Newman created an issue
 
Jenkins / Improvement JENKINS-57411
Upgrade github-branch-source-plugin to use okhttp3
Issue Type: Improvement Improvement
Assignee: Unassigned
Components: github-branch-source-plugin
Created: 2019-05-11 02:08
Priority: Minor Minor
Reporter: Liam Newman
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

bitwiseman@gmail.com (JIRA)

unread,
May 10, 2019, 10:14:02 PM5/10/19
to jenkinsc...@googlegroups.com
Liam Newman updated an issue
Change By: Liam Newman
The latest OkHttp (v2.7.5) is over three years old. The web has come a long way. There are a significant number of Jenkins JIRA and Zendesk issues related to using this ancient library in key plugins.

We should upgrade Jenkins to use OkHttp3.

NOTES:

* OkHttp 2.x and 3.x exist and separate packages and can run side-by-side without conflict. However, different versions of 3.x may be incompatible if clients are using obsolete classes/methods.
* OkHttp 3.12.2 is the last version that is reasonably compatible with 2.7.5. Upgrading will require some changes but not huge ones.
* OkHttp 3.13.1 has some notable incompatibilities with 2.7.5, but also some better defaults.
* OkHttp 3.14.1 removes UrlFactory which is a serious version-incompatible API change for several plugins.

bitwiseman@gmail.com (JIRA)

unread,
May 10, 2019, 10:17:02 PM5/10/19
to jenkinsc...@googlegroups.com
Early exploration of this upgrade was started to test whether it would address issues such ass JENKINS-54126.   

Finding so far while using 3.12.2:

* okio v2.2.x is needed for okhttp3.  
* Some special class loading settings are needed to get the right versions okhttp3 and okio to be loaded.
*   


bitwiseman@gmail.com (JIRA)

unread,
May 10, 2019, 10:18:02 PM5/10/19
to jenkinsc...@googlegroups.com
(Last updated May 9, 2019):
Please give this version of the plugin a try: https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/github-branch-source/2.5.3-rc841.52a0b90bff37/


bitwiseman@gmail.com (JIRA)

unread,
May 10, 2019, 10:23:02 PM5/10/19
to jenkinsc...@googlegroups.com
Liam Newman commented on Improvement JENKINS-57411
 
Re: Upgrade github-branch-source-plugin to use okhttp3

Josh Soref

we are seeing that the periodic scans don't seem to be running periodically, and a branch whose name has been recycled (but for whom we'd expect github to send a notification) isn't being noticed automatically.

We are able to use "Scan Repository Now" to pick up those branches, which feels like progress.

Yeah, that's better than nothing.

Take a look at the Events log for the org/repo to see if there are errors. Otherwise, errors might only show in the Jenkins Master's console log output.

jsoref+jenkins@gmail.com (JIRA)

unread,
May 11, 2019, 10:07:02 PM5/11/19
to jenkinsc...@googlegroups.com

There wasn't anything obvious in the scan repository logs. I'll check the master log…

bitwiseman@gmail.com (JIRA)

unread,
May 13, 2019, 4:46:03 PM5/13/19
to jenkinsc...@googlegroups.com

Josh Soref
Cool thanks.

I'm really not sure what would the periodic scans to not run.

bitwiseman@gmail.com (JIRA)

unread,
May 29, 2019, 1:20:03 PM5/29/19
to jenkinsc...@googlegroups.com
Liam Newman updated an issue
Change By: Liam Newman
The latest OkHttp (v2.7.5) is over three years old. The web has come a long way. There are a significant number of Jenkins JIRA and Zendesk issues related to using this ancient library in key plugins.

We should upgrade Jenkins to use OkHttp3.

NOTES:

* OkHttp 2.x and 3.x exist and separate packages and can run side-by-side without conflict. However, different versions of 3.x may be incompatible if clients are using obsolete classes/methods.
* OkHttp 3.12.2 is the last version that is reasonably compatible with 2.7.5. Upgrading will require some changes but not huge ones.
* OkHttp 3.13.1 has some notable incompatibilities with 2.7.5, but also some better defaults.
* OkHttp 3.14.1 removes UrlFactory which is a serious version-incompatible API change for several plugins.

Early exploration of this upgrade was started to test whether it would address issues such ass JENKINS-54126.   

Finding so far while using 3.12.2:

* okio v2.2.x is needed for okhttp3.  
* Some special class loading settings are needed to get the right versions okhttp3 and okio to be loaded.
*   


(Last updated May 9 29 , 2019):
Please give this version of the plugin a try: https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/github-branch-source/2.5.
3 4 - rc841 rc849 . 52a0b90bff37 b58a1bae7fce /


bitwiseman@gmail.com (JIRA)

unread,
May 29, 2019, 1:22:04 PM5/29/19
to jenkinsc...@googlegroups.com
 
Re: Upgrade github-branch-source-plugin to use okhttp3

Josh Soref
I'm pretty sure the periodic scans not running are unrelated. I've updated the patched plugin to include the latest fixes (see the description).

bitwiseman@gmail.com (JIRA)

unread,
Aug 21, 2019, 6:40:03 PM8/21/19
to jenkinsc...@googlegroups.com
Liam Newman updated an issue
Change By: Liam Newman
The latest OkHttp (v2.7.5) is over three years old. The web has come a long way. There are a significant number of Jenkins JIRA and Zendesk issues related to using this ancient library in key plugins.

We should upgrade Jenkins to use OkHttp3.

NOTES:

* OkHttp 2.x and 3.x exist and separate packages and can run side-by-side without conflict. However, different versions of 3.x may be incompatible if clients are using obsolete classes/methods.
* OkHttp 3.12.2 is the last version that is reasonably compatible with 2.7.5. Upgrading will require some changes but not huge ones.
* OkHttp 3.13.1 has some notable incompatibilities with 2.7.5, but also some better defaults.
* OkHttp 3.14.1 removes UrlFactory which is a serious version-incompatible API change for several plugins.

Early exploration of this upgrade was started to test whether it would address issues such ass JENKINS-54126.
   


Finding so far while using 3.12.2:

* okio v2.2.x is needed for okhttp3.   

* Some special class loading settings are needed to get the right versions okhttp3 and okio to be loaded.
*
   



(Last updated May 29, 2019):
Please give this version of the plugin a try:
[ https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/github-branch-source/2.5. 4 7 - rc849 rc892 . b58a1bae7fce e46ec862f6f7 /


]

bitwiseman@gmail.com (JIRA)

unread,
May 1, 2020, 4:59:02 PM5/1/20
to jenkinsc...@googlegroups.com
Liam Newman updated an issue
The latest OkHttp (v2.7.5) is over three years old. The web has come a long way. There are a significant number of Jenkins JIRA and Zendesk issues related to using this ancient library in key plugins.

We should upgrade Jenkins to use OkHttp3.

NOTES:
* OkHttp 2.x and 3.x exist and in separate packages and can run side-by-side without conflict. However, different versions of 3.x (and okhttp3 4.x) may be incompatible if clients are using obsolete classes/methods.

* OkHttp 3.12.2 is the last version that is reasonably compatible with 2.7.5. Upgrading will require some changes but not huge ones.
* OkHttp 3.13.1 has some notable incompatibilities with 2.7.5, but also some better defaults.
* OkHttp 3.14.1 removes UrlFactory OkHttpUrlFactory which is a serious version-incompatible API change for several plugins.   The github-api library pulled in a shim that provides a workaround OkHttpUrlFactory.


Early exploration of this upgrade was started to test whether it would address issues such ass as JENKINS-54126.


Finding so far while using 3.12.2:
* okio v2.2.x is needed for okhttp3.
* Some special class loading settings are needed to get the right versions okhttp3 and okio to be loaded.
*

(Last updated May
29   1 , 2019):
Please give this version of the plugin a try The rebuilt incremental can be found at : [
https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/github-branch-source/2. 5. 7 .2 - rc892 rc1146 . e46ec862f6f7 5bac543b6ba0 / ]

This version uses okhttp3 and is compatible with github-api-plugin 1.110+.
This message was sent by Atlassian Jira (v7.13.12#713012-sha1:6e07c38)
Atlassian logo

bitwiseman@gmail.com (JIRA)

unread,
May 1, 2020, 5:00:04 PM5/1/20
to jenkinsc...@googlegroups.com

The rebuilt incremental can be found at:

This version uses okhttp3 and is compatible with github-api-plugin 1.110+.

bitwiseman@gmail.com (JIRA)

unread,
May 4, 2020, 8:18:03 PM5/4/20
to jenkinsc...@googlegroups.com
Liam Newman updated an issue
Change By: Liam Newman
The latest OkHttp (v2.7.5) is over three years old. The web has come a long way. There are a significant number of Jenkins JIRA and Zendesk issues related to using this ancient library in key plugins.

We should upgrade Jenkins to use OkHttp3.

NOTES:
* OkHttp 2.x and 3.x exist in separate packages and can run side-by-side without conflict. However, different versions of 3.x (and okhttp3 4.x) may be incompatible if clients are using obsolete classes/methods.

* OkHttp 3.12.2 is the last version that is reasonably compatible with 2.7.5. Upgrading will require some changes but not huge ones.
* OkHttp 3.13.1 has some notable incompatibilities with 2.7.5, but also some better defaults.
* OkHttp 3.14.1 removes OkHttpUrlFactory which is a serious version-incompatible API change for several plugins.  The github-api library pulled in a shim that provides a workaround OkHttpUrlFactory.

Early exploration of this upgrade was started to test whether it would address issues such as JENKINS-54126.


Finding so far while using 3.12.2:
* okio v2.2.x is needed for okhttp3.
* Some special class loading settings are needed to get the right versions okhttp3 and okio to be loaded.

(Last updated May   1   4 , 2019 2020 ):

The rebuilt incremental can be found at:


This version uses okhttp3 and is compatible with github-api-plugin 1.110+.

bitwiseman@gmail.com (JIRA)

unread,
May 4, 2020, 8:24:04 PM5/4/20
to jenkinsc...@googlegroups.com
The rebuilt incremental can be found at:
https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/github-branch-source/2.7.2-
rc1146 rc1149 . 5bac543b6ba0 0f9fd89495cc
/

This version uses okhttp3
v4.4.1 and is compatible with github-api-plugin 1.110+.

IMPORTANT: It seems that the OkHttp3 version must match exactly.  OkHttp3 uses some reflection features the mean if the github-api library is built with v4.4.1, the exact same version must be used at runtime or things go badly.  This means okhttp3 is poor match the Jenkins (and much of Java) loose-dependency versioning.

Reply all
Reply to author
Forward
0 new messages