Thank you all, the core pr is merged in. As promised, here is the very small follow up PR <https://github.com/apache/openwhisk/pull/5555> to handle the few deprecated items in the akka upgrade / pekko cutovers, there shouldn't be any behavior changes. Following that PR we can consider the project healthily cutover to Pekko. I've already tested the changes and don't see any differences between previous commits other than that I had to start up new clusters.
For overall project health, there's two remaining minor things to tackle that would be nice: 1. Upgrading the ansible in the project. The expected ansible version is incredibly old, making it hard to test locally on newer machines. 2. Updating the k8s client in the core project as well as update the deploy kube repo. I don't have experience with these repos and while I have enough k8s knowledge to make the changes if I had to; I'm probably not the first person up to tackle this and would have to wait until I had bandwidth sometime in the future. On Fri, Oct 17, 2025 at 9:06 PM Brendan Doyle <[email protected]> wrote: > The build has passed so it should be ready to merge on review / approvals. > > > name: Brendan Doyle > title: Staff Software Engineer, Async Platform > > > > 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 >> >> > Brendan Doyle Staff Software Engineer, Async Platform 410.829.9908
