Replies: 2 comments 11 replies
-
@nmalonzo would you be able to provide a more detailed breakdown of what you think is missing in Pekko - that blocks your migration? Maybe you could share the design you have in mind for a more 'robust' solution but it would be nice to spell out the problem(s) that it solves. #837 is merged - is there a specific reason that you are unhappy with it? Pekko is a volunteer project and the work to support Akka/Pekko interop has been done using small scale scenarios. We haven't really and anyone come forward who has a real world application running that needs this support. It wouldn't surprise me if there are gaps. I look forward to seeing what you submit and hopefully others will see this discussion and help out. As well as setting up the configs by copying the existing configs for your Akka cluster and changing the names to start with 'pekko' - you should read https://cwiki.apache.org/confluence/display/PEKKO/Pekko+Akka+Compatibility |
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply. It seems even if we do a lot of testing, migrating a
production environment from Akka 2.6 to Pekko 1.0.X and for some reason
rolling it back to Akka 2.6 will entail risk in the persistence tables
(journal and snapshot). This is why I am now favoring starting a separate
Pekko cluster and doing a live migration from the Akka cluster to the Pekko
cluster while both clusters are up. The problem with this though is it
would be much harder for nodes between two clusters to communicate. I am
thinking of putting a GRPC endpoint in the persistent state nodes to allow
migration between them. Would you know an easier way to do this or am I
going in the right direction? Our requirement is that there should be
virtually zero risk of corrupting the persistent actor data during
migration. If there is a small risk that migrating the persistent akka
actors to pekko 1.0.X and rolling them back to akka will corrupt their
data, we cannot use it.
…On Tue, Aug 6, 2024 at 10:05 PM Matthew de Detrich ***@***.***> wrote:
A persistent entity on a node migrated to Pekko is not guaranteed to be
able to be rolled back to Akka right? A pekko node pretending to be an Akka
node can change the journal/snapshot such that it cannot be loaded to an
Akka node?
This is why Pekko 1.0.x version series exists, its guaranteed not to have
any behavior changes compared to Akka 2.6 unless we find critical
bugs/security issues. The idea is that people migrate their current Akka
cluster to Pekko 1.0.x, make sure all of the Akka nodes are shut down and
then they can start migrating their new Pekko 1.0.x cluster to a later
version of Pekko (i.e. 1.1.x).
As long as you stick with Pekko 1.0.x, you can theoretically move back to
Akka (for whatever reason) but the idea is that you eventually move away
from Pekko 1.0.x. There is however no realistic expectation that Pekko
versions after 1.0.x will continue to work with Akka nodes, and its not
just for technical reasons. You should view Pekko as separate open source
software, with 1.0.x being a special case designed to aid in migration.
—
Reply to this email directly, view it on GitHub
<#1421 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF6CF54DYLLDK4UGOZ6HPSTZQDJ3BAVCNFSM6AAAAABL2CPBD6VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMRVGQZTIMY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi,
I am exploring what approach to use in migrating production code from Akka to Pekko. From a cursory checking it seems to just require replacing the name of several configs to pekko versions. However, when I look on rolling back there seems to be at least one issue.. This is a deal-breaker for me for doing a simple rolling deployment from the akka project to the pekko project. I am leaning on designing a more complicated, but hopefully more robust, method using migration classes that will do live migration between an akka cluster and its pekko cluster version.
This will have a number of challenges, primarily allowing intra-cluster communication between state nodes. Is there anyone in the community having migrated production code to pekko and needing to rollback for some reason?
Beta Was this translation helpful? Give feedback.
All reactions