The build has passed so it should be ready to merge on review / approvals. Brendan Doyle Staff Software Engineer, Async Platform
410.829.9908 On Fri, Oct 17, 2025 at 2:45 PM Brendan Doyle <[email protected]> wrote: > Okay the PR is ready for review everyone! Just one failing unit test I'm > working on and a flaky one. I've updated the description of the PR noting > all of the changes made. I went through the entire diff myself as well and > think it looks good. I also added a notice to the top of the base readme of > notice of the breaking change. > > @Dominic It is a single commit, just one PR. Though there are a few > deprecations to deal with on the latest Pekko that fail compilation from > warnings. I've decided to isolate this to a small second PR fixing > deprecated references that re-enables failing compile on warnings. I've > gone through them, they're essentially just renames. > > On Fri, Oct 17, 2025 at 7:58 AM David Grove <[email protected]> wrote: > >> +1 from me too. Thank you for taking this on. >> >> From: Rob Allen <[email protected]> >> Date: Friday, October 17, 2025 at 5:05 AM >> To: [email protected] <[email protected]> >> Subject: [EXTERNAL] Re: Apache Pekko Migration >> >> Hi, >> >> This sounds like an excellent thing to do. I’m not qualified to review at >> all, but I’m in full support of the move. >> >> Regards, >> >> Rob >> >> > On 16 Oct 2025, at 20:16, Brendan Doyle <[email protected]> >> wrote: >> > >> > Hello whiskers, >> > >> > It's been a while! I'm reaching out today about migrating Openwhisk off >> of >> > Akka to Apache Pekko. Following the license change of Akka back in 2022, >> > the Apache community created a fork to maintain the open source nature >> of >> > the Akak framework within the Apache organization. Three years later, >> the >> > project is quite successful and stable such that I feel we are ready to >> > make the cutover. As far as I know, all other Apache projects that were >> > taking dependency on Akka have already made the switch. >> > >> > Why do this now or at all? >> > >> > 1. We have been stuck on Akka 2.6 for over 3 years. The core framework >> of >> > the project dictates what other versions of transitive dependencies we >> can >> > run. Without being on a version of Akka / Pekko that is actively >> > maintained, we cannot properly patch dependencies to handle critical bug >> > and security fixes. >> > 2. Many of the dependencies we rely on are severely outdated due to the >> > reliance on the last Apache licensed version of Akka. Taking this >> > opportunity to cutover to Pekko allows us to do major revisions on >> > dependencies that are long overdue. >> > 3. By having the project in this healthy state again, it should motivate >> > people to make small updates as needed surrounding tooling and running >> the >> > project that would be an insurmountable change in the current state. >> > >> > I have a PR <https://github.com/apache/openwhisk/pull/5551 > open >> that is >> > near ready for review, which is why I'm sending out this email now to >> get >> > attention as soon as possible. I just have three failing unit tests >> > remaining to resolve. I have already tested the change in running >> clusters >> > and all looks good. The PR may look daunting at +400 files, but I >> promise >> > after doing a self review this morning only about ~25 files require any >> > look, mainly the dependency and configuration files. I estimate it will >> > take approximately twenty minutes of your time to review. The rest of >> the >> > files are just import name changes. The PR is clean and only updating >> > dependencies as necessary. The cutover to new clusters should be quite >> > transparent apart from the changes under the hood from where we were on >> > Akka to the latest version of Pekko, which in my wide experience with >> Akka >> > should be trivial from where we were on 2.6. >> > >> > *Here is the important part. Merging this in will be a breaking change >> so >> > far as it requires you to start new Openwhisk clusters through blue / >> green >> > deployment. Rolling upgrade of existing clusters will not work. While >> > Apache Pekko supports rolling restart cutovers, our current state does >> not >> > leverage this because we are on Akka GRPC 1.x and Akka Kryo >> serialization >> > w/ Kryo4. Pekko is forked off of Akka GRPC 2.x and Akka Kryo >> serialization >> > w/ Kryo5. Both of these major upgrades would require new clusters even >> if >> > remaining on Akka. Now is a good time to get them out of the way so we >> do >> > not have to address this again indefinitely since we'll be on the latest >> > Pekko GRPC major and *Kryo5* serialization is latest.* >> > >> > Now on how do we integrate this into the project. Either we merge my PR >> > directly to master or we open a v3 branch. With the current velocity of >> the >> > project such that for a couple years now the only updates have been >> > dependency and build updates, my opinion is we just go straight to >> master >> > especially with the bug and security fixes included. Additionally, we >> only >> > ever had one official release of 2.x which was also a breaking change in >> > similar capacity. Besides getting eyes on the PR, I'd appreciate >> responses >> > on if people are okay with merging the PR directly to master and >> changing >> > the version to a 3.0.0-SNAPSHOT? >> > >> > Lastly, I would like to take this opportunity to discuss with the >> community >> > our status and our use of the project for full transparency. We have >> been >> > working for a couple of years on our next generation platform and >> strategy >> > for internal usage of FaaS and will be winding down our usage of the >> > project by 2027. When it is all said and done, this project will have >> > served us well for nearly a decade. I would like to take a moment to >> > applaud @style95 and his whole team for what they accomplished with the >> > scheduler. Without this work, we would not have had the stability to >> > allocate resources to work on the platform that would come next for us >> for >> > the last two years. >> > >> > For me, I will still be around personally to give feedback on any >> project >> > discussion or help keep things healthy with build and dependency updates >> > after 2026. Following this change, it should be trivial for us to keep >> the >> > Apache project stable for a very long time for the open source and >> research >> > community to continue on or expand Openwhisk. >> > >> > Thanks, >> > Brendan Doyle >> > >> > Brendan Doyle >> > Staff Software Engineer, Async Platform >> > >> > >> > >> > >> >> > > -- > > name: Brendan Doyle > title: Staff Software Engineer, Async Platform > mobile: 410.829.9908 > >
