-
Notifications
You must be signed in to change notification settings - Fork 94
Release 7.0.0 #1175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release-7.0.0
Are you sure you want to change the base?
Release 7.0.0 #1175
Conversation
Co-authored-by: sntiwari1 <[email protected]>
Co-authored-by: sntiwari1 <[email protected]>
Co-authored-by: sntiwari1 <[email protected]>
Co-authored-by: sntiwari1 <[email protected]>
Removed the 'Files Modified' section from the README.
Upgrade sunbird-utils from Akka 2.5.19 to Apache Pekko 1.0.3
|
Based on your review schedule, I'll hold off on reviewing this PR until it's marked as ready for review. If you'd like me to take a look now, comment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've completed my review and didn't find any issues... but I did find this kitten.
|\__/,| (`\
_.|o o |_ ) )
-(((---(((--------Files scanned
| File Path | Reviewed |
|---|---|
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/email/EmailServiceClient.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/courseenrollment/CourseEnrollmentClient.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/InterServiceCommunication.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/user/UserClient.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/systemsettings/SystemSettingClient.java | ✅ |
| sunbird-platform-core/actor-core/src/main/java/org/sunbird/actor/service/SunbirdMWService.java | ✅ |
| sunbird-platform-core/actor-core/src/main/java/org/sunbird/actor/router/BackgroundRequestRouter.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/email/impl/EmailServiceClientImpl.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/org/OrganisationClient.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/courseenrollment/impl/CourseEnrollmentClientImpl.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/location/LocationClient.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/impl/InterServiceCommunicationImpl.java | ✅ |
| sunbird-platform-core/common-util/src/main/java/org/sunbird/common/models/util/RestUtil.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/systemsettings/impl/SystemSettingClientImpl.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/user/impl/UserClientImpl.java | ✅ |
| sunbird-platform-core/actor-core/src/main/java/org/sunbird/actor/core/BaseRouter.java | ✅ |
| sunbird-platform-core/actor-core/src/main/java/org/sunbird/actor/router/RequestRouter.java | ✅ |
| sunbird-platform-core/actor-core/src/main/java/org/sunbird/actor/service/BaseMWService.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/location/impl/LocationClientImpl.java | ✅ |
| sunbird-platform-core/actor-core/src/main/java/org/sunbird/actor/core/BaseActor.java | ✅ |
| sunbird-platform-core/actor-util/src/main/java/org/sunbird/actorutil/org/impl/OrganisationClientImpl.java | ✅ |
| sunbird-es-utils/src/main/java/org/sunbird/common/ElasticSearchTcpImpl.java | ✅ |
| sunbird-es-utils/src/main/java/org/sunbird/common/ElasticSearchRestHighImpl.java | ✅ |
| sunbird-es-utils/src/main/java/org/sunbird/common/ElasticSearchHelper.java | ✅ |
| sunbird-es-utils/src/main/java/org/sunbird/common/ElasticSearchUtil.java | ✅ |
Explore our documentation to understand the languages and file types we support and the files we ignore.
Check out our docs on how you can make Korbit work best for you and your team.
There was a problem hiding this 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 sunbird-utils repository from Akka 2.5.19 to Apache Pekko 1.0.3, addressing license compliance concerns and security issues with the outdated Akka version.
- Migrated from Akka 2.5.19 (Business Source License) to Apache Pekko 1.0.3 (Apache 2.0)
- Upgraded Scala from 2.11 to 2.13
- Updated Jackson Module Scala from 2.10.1 to 2.14.3
Reviewed Changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| sunbird-platform-core/common-util/pom.xml | Updated dependencies from Akka to Pekko, added Scala library exclusions and version properties |
| sunbird-platform-core/actor-util/pom.xml | Migrated Akka dependencies to Pekko 1.0.3 with Scala 2.13 |
| sunbird-platform-core/actor-core/pom.xml | Updated actor framework dependencies to Pekko |
| sunbird-es-utils/pom.xml | Added Pekko dependencies for Elasticsearch utilities |
| Multiple Java files | Updated imports from akka.* packages to org.apache.pekko.* |
| BaseMWService.java | Migrated remote actor configuration from Akka Netty to Pekko Artery |
| BaseRouter.java | Updated protocol check from "akka://" to "pekko://" |
| RequestRouter.java | Updated exception handling for Pekko AskTimeoutException |
| PEKKO_UPGRADE_README.md | Added comprehensive documentation of the migration |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| details.add("pekko.remote.artery.canonical.hostname=" + (StringUtils.isNotBlank(host) ? host : "127.0.0.1")); | ||
| details.add("pekko.remote.artery.canonical.port=" + (StringUtils.isNotBlank(port) ? port : "25520")); | ||
|
|
||
| return ConfigFactory.parseString(StringUtils.join(details, ",")); |
Copilot
AI
Nov 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The HOCON configuration format requires newlines or proper delimiters between properties, not commas. Using commas as delimiters will cause parsing errors. Change StringUtils.join(details, \",\") to StringUtils.join(details, \"\\n\") to properly format the configuration string.
| return ConfigFactory.parseString(StringUtils.join(details, ",")); | |
| return ConfigFactory.parseString(StringUtils.join(details, "\n")); |
…cies for compatibility
Co-authored-by: Copilot <[email protected]>
fix: Add support for multiple cloud storage types and update dependencies for compatibility
This PR upgrades the sunbird-utils repository from Akka 2.5.19 + Scala 2.11 to Apache Pekko 1.0.3 + Scala 2.13.12.
The upgrade ensures license compliance, security, and modernization while maintaining API compatibility and project functionality.
Context:
Dependencies:
Type of change
How Has This Been Tested?
mvn clean install -DskipTestsmvn clean installmvn dependency:treemvn dependency:tree | grep pekkoChecklist:
Key Changes / Files Modified
Maven POMs
sunbird-platform-core/actor-core/pom.xmlsunbird-platform-core/actor-util/pom.xmlsunbird-platform-core/common-util/pom.xmlsunbird-es-utils/pom.xmlSource Code
akka.*→org.apache.pekko.*)Configuration
application.confreferences:akka.actor.provider→pekko.actor.providerakka.remote.RemoteActorRefProvider→org.apache.pekko.remote.RemoteActorRefProviderakka.remote.netty.tcp→pekko.remote.arteryakka://protocol references →pekko://Scala Version Handling
Migration Impact
akka→pekko)Description by Korbit AI
What change is being made?
Upgrade the project to Pekko 1.0.3 by migrating all Akka dependencies and imports to Pekko, updating Scala to 2.13, and adjusting configuration and build artifacts accordingly, across all modules.
Why are these changes being made?
Switch to Pekko to maintain Apache 2.0 licensing and receive ongoing security/feature updates, while preserving API compatibility and overall business logic. If applicable, brief notes about reduced risk with license compliance and improved dependency alignment.