GSoC 2020 Jenkins Custom Distribution Service Update Center Persistence Discussion

14 views
Skip to first unread message

Sladyn Nunes

unread,
Jul 23, 2020, 2:35:05 PM7/23/20
to Jenkins Developers
Hi all, 

This discussion thread pertains to the [GSoC 2020]  Custom Distribution Service Project feature implementation decision that the GsoC team would like feedback on. Basically the problem right now is that the update center.json is quite a big file and making an api call to it takes a minimum of 30 seconds, therefore we would like to know out of the below two designs which one would users prefer:

a) We download the update-center.json and store it in a temporary folder, every time the service is started and thus for the entire duration of the running of the service we would be able to make use of this file. On exit or shutdown of this service the temporary folder is deleted.

b) We persist the update-center.json and store it only when the service is started for the first time and on every subsequent run thereafter we would not make any api call. Instead we would provide the user with a button on the UI saying that "Hey the update center has not been updated for x amount of time would you like to pull in the latest changes"

Would love to get some feedback on this thread

Thanks and Cheers

Tim Jacomb

unread,
Jul 23, 2020, 2:36:54 PM7/23/20
to Jenkins Developers
Could you have a background job that updates it every hour?

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/1bf950ef-edee-47c6-bbdd-a95566778891o%40googlegroups.com.

martinda

unread,
Jul 26, 2020, 5:21:34 PM7/26/20
to Jenkins Developers
Hi Tim,

I see two use cases: an on-line community service, and behind a firewall. We're just not sure whether the update centre data should be 1) persistent when the service is stopped and restarted  (thus we need a persistent docker volume along with the two docker containers), or 2) downloaded every time it starts.

For the hourly update, that can work on top of either one.

Maybe I am complicating something that is simple.

Martin


On Thursday, July 23, 2020 at 2:36:54 PM UTC-4, Tim Jacomb wrote:
Could you have a background job that updates it every hour?

On Thu, 23 Jul 2020 at 19:35, Sladyn Nunes <sladyn...@gmail.com> wrote:
Hi all, 

This discussion thread pertains to the [GSoC 2020]  Custom Distribution Service Project feature implementation decision that the GsoC team would like feedback on. Basically the problem right now is that the update center.json is quite a big file and making an api call to it takes a minimum of 30 seconds, therefore we would like to know out of the below two designs which one would users prefer:

a) We download the update-center.json and store it in a temporary folder, every time the service is started and thus for the entire duration of the running of the service we would be able to make use of this file. On exit or shutdown of this service the temporary folder is deleted.

b) We persist the update-center.json and store it only when the service is started for the first time and on every subsequent run thereafter we would not make any api call. Instead we would provide the user with a button on the UI saying that "Hey the update center has not been updated for x amount of time would you like to pull in the latest changes"

Would love to get some feedback on this thread

Thanks and Cheers

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkin...@googlegroups.com.

Richard Bywater

unread,
Jul 26, 2020, 5:31:53 PM7/26/20
to jenkin...@googlegroups.com
If the update centre data isn't persisted then if the service restarts then you are relying on external infrastructure being available in order to serve your own infrastructure. This seems to be not the best idea so personally I'd do a bit of both - that is, persist the results but on service start trigger a background job to go and refresh the update centre data. This background refresh is then what can be re-used to keep the data up-to-date over time while the service is running.

Richard.

To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/f2a4ec44-30f6-4b18-a7bf-e893f5988547o%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages