Skip to content
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

feat: migrate from Akka to JAVA virtual threads based tasks #27

Merged
merged 8 commits into from
Jun 11, 2024

Conversation

raits
Copy link
Contributor

@raits raits commented Jun 7, 2024

This PR does the following:

  • Migrates from Akka actors to JAVA virtual thread based tasks using blocking queue to communicate and semaphores to enforce concurrent tasks as they were for actors
  • Ports tests from actors to tasks and fixes them so that they hide errors less (though there might still be some cases, as the logic behind the actors was changed as little as possible to minimize side-effects)
  • The XRoadClient will be revisited once we have updated XRD4J, because the current one is used in a potentially non-threadsafe way
  • The FI profile tasks for companies and organizations mimics the behavior in the actor model, but it will be changed in a follow-up task since the original implementation seems flawed
  • Configuration defaults were included in JAVA annotations where sensible to minimize risk of a misconfiguration causing the service not to start
  • Added a check at startup, which verifies that the keystore exists on the given path before trying to use it as it caused issues when it didn't exist

Copy link

github-actions bot commented Jun 7, 2024

Job Summary for Gradle

X-Road-Catalog tests :: BuildAndTest
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
x-road-catalog build test 8.7 Build Scan not published

Copy link

github-actions bot commented Jun 7, 2024

Job Summary for Gradle

X-Road-Catalog tests :: BuildAndTest
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
x-road-catalog build test 8.7 Build Scan not published

Copy link

github-actions bot commented Jun 7, 2024

Job Summary for Gradle

X-Road-Catalog tests :: BuildAndTest
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
x-road-catalog build test 8.7 Build Scan not published

Copy link

Job Summary for Gradle

X-Road-Catalog tests :: BuildAndTest
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
x-road-catalog build test 8.7 Build Scan not published

@raits raits requested a review from petkivim June 10, 2024 08:12
@raits raits marked this pull request as ready for review June 10, 2024 08:12
@petkivim
Copy link
Contributor

petkivim commented Jun 10, 2024

Here "actor" should be replaced with "thread" or remove the comment since it may not apply to the new implementation anymore.

Copy link

Job Summary for Gradle

X-Road-Catalog tests :: BuildAndTest
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
x-road-catalog build test 8.7 Build Scan not published

Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.3% Duplication on New Code

See analysis details on SonarCloud

Copy link

Job Summary for Gradle

X-Road-Catalog tests :: BuildAndTest
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
x-road-catalog build test 8.7 Build Scan not published

@raits raits merged commit cf838bb into develop Jun 11, 2024
3 checks passed
@raits raits deleted the XRDCAT-12 branch June 11, 2024 06:43
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.

2 participants