Comments on: Introducing Propagator: multi-everything deployment made easy https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy Blog by Shlomi Noach Wed, 23 Apr 2014 13:20:12 +0000 hourly 1 https://wordpress.org/?v=5.3.3 By: Percona Live 2014 behind; MySQL ahead https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy/comment-page-1#comment-238473 Wed, 23 Apr 2014 13:20:12 +0000 https://shlomi-noach.github.io/blog/?p=6750#comment-238473 […] for managing various aspects of MySQL, like ClusterControl for MySQL Galera by Severalnines and Propagator by Outbrain (both were are PLMCE this […]

]]>
By: shlomi https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy/comment-page-1#comment-235045 Fri, 28 Mar 2014 05:15:54 +0000 https://shlomi-noach.github.io/blog/?p=6750#comment-235045 Hi Sean,
Indeed, Propagator is *very* different from other, existing solutions such as Liquibase or FlywayDB.

It does not support rollback/revert, and intentionally so. I am yet to write more posts explaining propagator’s design, but in short: Propagator is designed to be used by dozens of engineers at our company. It is a non-linear deployment system (engineers may do their deployments out of order on different hosts). To some extent their deployments can be controlled by the DBA (some commits still pending).

I, for one, do not think it a good idea to have automatic reverts. While the revert of ADD INDEX is straightforward, how can you ensure the revert of an INSERT with an AUTO_INCREMENT? How do you revert a DELETE over 10,000 rows? Can you safely revert an ADD CONSTRAINT FOREIGN KEY? (has the reverting code been deployed, too)? Will you pay the price of a second ALTER TABLE?

To all of the above there is a mathematical answer, which is “yes you can”; but in the environment where dozens of engineers — not database experts — are modifying the database — I do not wish them to design a revert process, nor do I wish an auto-deduced revert mechanism. Reverts (which are rare) go to our DBA to untangle.

Propagator is not a changelog or a time machine mechanism. You don’t point propagator to a host and say “make it look like revision 1234”. It is used in a continuous deployment environment, and it is a forward going solution.

This allows for greater concurrency, for relaxation of execution upon user errors (and we have many of these) while providing full auditing and visibility over what’s been done.

Hope this clarifies a little.

]]>
By: Sean Davidson https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy/comment-page-1#comment-235014 Thu, 27 Mar 2014 22:00:48 +0000 https://shlomi-noach.github.io/blog/?p=6750#comment-235014 Hi Shlomi,

Thanks for this super contribution to the community – it has promise to facilitate a great deal of our workflow. However, one thing I could not glean from the documentation that seems essential is to support a rollback or revert functionality. We write a rollback patch with every “forward” patch. But these, just like the normal DB scripts have varying degrees of applicability in different environments. Is something like this supported, on your roadmap, or something that we should look into contributing?

]]>
By: Joshua Prunier https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy/comment-page-1#comment-233493 Sat, 15 Mar 2014 22:28:53 +0000 https://shlomi-noach.github.io/blog/?p=6750#comment-233493 This looks really interesting. Thanks for the great work and open sourcing this project!

]]>
By: shlomi https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy/comment-page-1#comment-233368 Fri, 14 Mar 2014 18:22:50 +0000 https://shlomi-noach.github.io/blog/?p=6750#comment-233368 Hi Cédric,
Yes, this is on the TODO; I can’t tell when this will happen though.

]]>
By: CEPE https://shlomi-noach.github.io/blog/mysql/introducing-propagator-multi-everything-deployment-made-easy/comment-page-1#comment-233360 Fri, 14 Mar 2014 17:09:50 +0000 https://shlomi-noach.github.io/blog/?p=6750#comment-233360 Hi Shlomi, thanks for this another open source project.
Will you expect to interface propagator with an online schema change script?

]]>