Unclear how safe workflow-support 3.0 is for upgrades

7 views
Skip to first unread message

R. Tyler Croy

unread,
Jan 4, 2019, 3:00:09 PM1/4/19
to jenkins...@googlegroups.com
While considering upgrades for ci.jenkins.io, I see that workflow-support is
now the first Pipeline-related plugin to arrive at 3.0 (https://plugins.jenkins.io/workflow-support).
Hooray! Thanks for the work dnusbaum :)

From the changelog:

This update involves incompatible changes to the serialized format of
Pipeline builds. Any Pipelines that are running when Jenkins is restarted
to apply this upgrade will fail after the restart. Pipelines will be able
to resume normally after subsequent restarts.

To avoid this one-time issue, please stop all running Pipelines or allow
them to complete before restarting Jenkins when applying this update.


Since there's a marshalling change going on, I wanted to double check my
understanding of this change. I believe this means that only runtime
persistence for running Pipelines has changed, and none of the previously
existing on-disk state for Pipeline Runs will change. Would that be correct?


I'm personally a bit weary of seralization changes, which have bitten me in the
past, but if this is just about runtime data and no longer term persisted
information, then I'll happily upgrade post haste! :)



Cheers
--
GitHub: https://github.com/rtyler

GPG Key ID: 0F2298A980EE31ACCA0A7825E5C92681BEF6CEA2
signature.asc

Devin Nusbaum

unread,
Jan 4, 2019, 3:52:59 PM1/4/19
to jenkins...@googlegroups.com
Good question!

> … I believe this means that only runtime
> persistence for running Pipelines has changed, and none of the previously
> existing on-disk state for Pipeline Runs will change. Would that be correct?

Yes, the format of build data for completed Pipelines is unchanged, so you’ll
still be able to access old Pipelines inside of Jenkins after the upgrade.

To get into the details a bit, the file whose format has changed is `program.dat`,
which stores the Pipeline program and is used to maintain control flow across
restarts. If you don’t stop a Pipeline during the restart, then after restarting,
Jenkins won’t be able to deserialize `program.dat` back into the original
Pipeline program, so the build will fail. Once a Pipeline completes,
`program.dat` is deleted, hence the recommendation to wait for running
Pipelines to complete or to stop them manually if having running Pipelines fail
after the restart would be a problem for your Jenkins installation.

Hopefully that answers your question, but please let me know if there is
anything else I can clarify in regards to the upgrade. Any suggestions to
improve the changelog warning are also welcome.

Thanks,
Devin
> --
> You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/20190104195952.pucqh6wo27xxb7d2%40grape.brokenco.de.
> For more options, visit https://groups.google.com/d/optout.

R. Tyler Croy

unread,
Jan 5, 2019, 10:25:01 AM1/5/19
to jenkins...@googlegroups.com
(replies inline)

On Fri, 04 Jan 2019, Devin Nusbaum wrote:

> Good question!
>
> > ??? I believe this means that only runtime
> > persistence for running Pipelines has changed, and none of the previously
> > existing on-disk state for Pipeline Runs will change. Would that be correct?
>
> Yes, the format of build data for completed Pipelines is unchanged, so you???ll
> still be able to access old Pipelines inside of Jenkins after the upgrade.


Thanks for the clarifications Devin


> To get into the details a bit, the file whose format has changed is `program.dat`,
> which stores the Pipeline program and is used to maintain control flow across
> restarts. If you don???t stop a Pipeline during the restart, then after restarting,
> Jenkins won???t be able to deserialize `program.dat` back into the original
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/443A7E08-C58E-4B34-A030-23D6620F42F8%40cloudbees.com.
> For more options, visit https://groups.google.com/d/optout.
signature.asc
Reply all
Reply to author
Forward
0 new messages