Skip to content

Conversation

@pjfanning
Copy link
Member

@pjfanning pjfanning commented Oct 28, 2025

What changes were proposed in this PR?

  • Switch from non FOSS Akka lib to Pekko

Any related issues, documentation, discussions?

How was this PR tested?

Was this PR authored or co-authored using generative AI tooling?

@pjfanning pjfanning marked this pull request as draft October 28, 2025 19:38
@github-actions github-actions bot added engine dependencies Pull requests that update a dependency file common labels Oct 28, 2025
@pjfanning pjfanning marked this pull request as ready for review October 28, 2025 22:28
@pjfanning pjfanning requested a review from Copilot October 28, 2025 22:29
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR migrates the codebase from Akka to Apache Pekko, addressing licensing and long-term sustainability concerns. Pekko is an Apache-licensed fork of Akka that continues development under the Apache Software Foundation.

  • Updates all Akka package imports to Pekko equivalents across the codebase
  • Migrates configuration files from Akka to Pekko naming conventions
  • Updates build dependencies from Akka to Pekko libraries, including serialization frameworks

Reviewed Changes

Copilot reviewed 42 out of 42 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
common/config/src/main/scala/org/apache/amber/config/AkkaConfig.scala Updated comment to reference Pekko instead of Akka
common/config/src/main/resources/cluster.conf Migrated configuration from Akka to Pekko naming, including logger and serializer package paths
amber/src/test/scala/org/apache/amber/engine/faulttolerance/*.scala Updated test imports from Akka to Pekko
amber/src/test/scala/org/apache/amber/engine/e2e/*.scala Updated test imports from Akka to Pekko
amber/src/test/scala/org/apache/amber/engine/architecture/**/*.scala Updated test imports from Akka to Pekko
amber/src/main/scala/org/apache/texera/web/**/*.scala Updated actor imports from Akka to Pekko
amber/src/main/scala/org/apache/amber/engine/common/*.scala Updated imports and configuration strings from Akka to Pekko
amber/src/main/scala/org/apache/amber/engine/architecture/**/*.scala Updated imports from Akka to Pekko across architecture components
amber/src/main/scala/org/apache/amber/clustering/*.scala Updated cluster management imports from Akka to Pekko
amber/build.sbt Migrated build dependencies from Akka 2.6.21 to Pekko 1.2.1 and updated Kryo serialization libraries

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chenlica chenlica requested a review from aglinxinyuan October 29, 2025 05:53
@chenlica
Copy link
Contributor

Thanks @pjfanning .

@aglinxinyuan Can you review it?

@aglinxinyuan
Copy link
Contributor

Thanks @pjfanning .

@aglinxinyuan Can you review it?

I'm not familiar with akka. @Yicong-Huang and @shengquan-ni can review it.

@aglinxinyuan aglinxinyuan requested review from Yicong-Huang and shengquan-ni and removed request for aglinxinyuan October 29, 2025 05:57
Update AmberKryoInitializer.scala

scala-kryo-serialization

Update build.sbt

Update cluster.conf

Update cluster.conf

Update build.sbt

kryo5

Update AmberKryoInitializer.scala

Update AmberKryoInitializer.scala

Update cluster.conf

Update cluster.conf
@pjfanning pjfanning force-pushed the pekko branch 2 times, most recently from 197f8ef to c56f910 Compare October 29, 2025 09:20
Copy link
Contributor

@Yicong-Huang Yicong-Huang left a comment

Choose a reason for hiding this comment

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

Thanks for the PR. I don't see obvious issues. Maybe @shengquan-ni can take another look.

@chenlica
Copy link
Contributor

@shengquan-ni Can you take a look?

Copy link
Contributor

@shengquan-ni shengquan-ni left a comment

Choose a reason for hiding this comment

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

The code changes look good to me. However, I want them to be tested. As I don’t have a running Texera dev env, @aglinxinyuan can you do a test for basic features like pause,resume,kill and also advanced features like UDF debugging, code update?

@shengquan-ni
Copy link
Contributor

We also need to test the multi-node clustering feature for Amber, maybe @bobbai00 can help test that.

@chenlica
Copy link
Contributor

Thanks, @shengquan-ni . @Xiao-zhen-Liu Can you do some testing?

@Xiao-zhen-Liu
Copy link
Contributor

I tested basic features on several workflows, including pause, resume, and kill, and they work as expected. Code debugging also works as expected. Code update cannot be tested as we disabled reconfiguration in #2970. For multi-node clustering feature, I have never tried it before and I do not have the context, but @bobbai00 should be able to test it.

@chenlica
Copy link
Contributor

@bobbai00 is available in the next few days. @aicam can you test it in a multi-node setting?

I will start a discussion about #2970.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

common dependencies Pull requests that update a dependency file engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants