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

🎨 ♻️ Restructure code around the actor model #125

Merged
merged 1 commit into from
Sep 28, 2024
Merged

Conversation

linkdd
Copy link
Contributor

@linkdd linkdd commented Sep 28, 2024

Decision Record

We used the go-actor library to structure part of the code.
Here, we restructure the entire codebase to make use of it everywhere, thus simplifying the wworkflow, error reporting, dependencies, etc...

A few bugs were uncovered during this refactor:

  • every time we needed to execute a transformer, we had to read it from the filesystem
  • the configuration storage was subject to race conditions (the file system is not thread safe)
  • some API operations were checking the wrong permissions

Changes

  • 🎨 Refactor code to use more of the actor model
  • ⚡ use sync.Map in the configuration storage as a cache to speed up reads and avoid race conditions
  • 🐛 fix permission checking in API

License Agreement

  • I guarantee that I have the rights on the code submitted in this PR
  • I accept that this contribution will be released under the terms of the MIT License

@linkdd linkdd self-assigned this Sep 28, 2024
Copy link

sonarqubecloud bot commented Sep 28, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

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

See analysis details on SonarCloud

docker/flowg.dockerfile Dismissed Show dismissed Hide dismissed
docker/flowg.dockerfile Dismissed Show dismissed Hide dismissed
Copy link

TestsPassed ✅Skipped ⏭️Failed ❌
End-To-End Test Report11 ran11 passed0 skipped0 failed

@linkdd linkdd merged commit 613bb0f into main Sep 28, 2024
7 checks passed
@linkdd linkdd deleted the actor-model branch September 28, 2024 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant