Skip to content

Conversation

bdoyle0182
Copy link
Contributor

@bdoyle0182 bdoyle0182 commented Oct 9, 2025

Apache Pekko Migration

Description

This PR migrates the Apache Openwhisk project to the latest versions of libraries from Apache Pekko. All references to Lightbend Akka in the repo have been removed.

Changes

  • Updated from Akka 2.6 to latest Pekko. All references to Akka in the repo are gone and all links to documentation in the repo have been updated to the matching Pekko equivalent.
  1. pekko-kryo-serialization 1.3.0. This introduces a breaking change to existing cluster going to Kryo5 from Kryo4
  2. pekko core 1.1.5
  3. pekko-kafka 1.1.0
  4. pekko-http 1.1.0
  5. pekko-management 1.1.1
  6. pekko grpc 1.1.1. This goes through Akka grpc 2.x breaking change.
  • All remaining transitive dependency cve's have been remediated.

  • Updated kafka-clients / embedded-kafka to 3.9.1 from 2.8.2 as required by Pekko (verified can run standalone openwhisk)

  • Updated zookeeper to 3.9.3

  • Updated netty to latest 4.1.x and gRPC core of 1.75.0. Pinned gRPC dependencies so we can keep required parity across dependencies.

  • Updated scalatest to 3.2.14 from 3.0.8 as required by Pekko.

  • The s3 pekko connector had some breaking changes from what we were on. New configs were required, I set them such that the behavior remains unchanged from what was there.

  • Updated ansible deploy commands of core components to output logs on error of healthcheck for easier debugging in CI jobs.

  • Disabled xFatalWarn on compile to ignore deprecation warnings in this PR. Small amount of deprecations will be handled in follow up PR turning xFatalWarn back on.

Related issue and scope

  • I opened an issue to propose and discuss this change (#????)

My changes affect the following components

  • API
  • Controller
  • Message Bus (e.g., Kafka)
  • Loadbalancer
  • Scheduler
  • Invoker
  • Intrinsic actions (e.g., sequences, conductors)
  • Data stores (e.g., CouchDB)
  • Tests
  • Deployment
  • CLI
  • General tooling
  • Documentation

Types of changes

  • Bug fix (generally a non-breaking change which closes an issue).
  • Enhancement or new feature (adds new functionality).
  • Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

  • I signed an Apache CLA.
  • I reviewed the style guides and followed the recommendations (Travis CI will check :).
  • I added tests to cover my changes.
  • My changes require further changes to the documentation.
  • I updated the documentation where necessary.

@bdoyle0182 bdoyle0182 force-pushed the pekko-migration branch 3 times, most recently from 01ef8a4 to 232b0e3 Compare October 11, 2025 08:00
@bdoyle0182 bdoyle0182 force-pushed the pekko-migration branch 3 times, most recently from 31cc012 to 2d43678 Compare October 15, 2025 23:21
@bdoyle0182 bdoyle0182 force-pushed the pekko-migration branch 7 times, most recently from d37e99b to 12152a8 Compare October 16, 2025 02:22
@bdoyle0182 bdoyle0182 force-pushed the pekko-migration branch 2 times, most recently from 14c9403 to f8e2cb6 Compare October 17, 2025 18:42
@bdoyle0182 bdoyle0182 force-pushed the pekko-migration branch 2 times, most recently from 5dd26eb to 03b4db0 Compare October 17, 2025 19:44
Copy link
Contributor Author

@bdoyle0182 bdoyle0182 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have completed a self review pass of the entire diff and LGTM

@bdoyle0182 bdoyle0182 changed the title WIP: Apache Pekko Migration Apache Pekko Migration Oct 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant