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

AF-30 Clustering implementation #54

Open
wants to merge 22 commits into
base: main
Choose a base branch
from
Open

AF-30 Clustering implementation #54

wants to merge 22 commits into from

Conversation

sparshev
Copy link
Collaborator

This change should add a proper clustering support with all the great functionality we had and even more with resistance to brain-split.

The change is BREAKING because removes the node description: not actually needed since all the decisions are made on the node itself.

TODO: Add more tests and proper documentation of each aspect of the cluster.

Related Issue

#30

Motivation and Context

Without a p2p cluster - what a life?

How Has This Been Tested?

Automatically

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@sparshev sparshev added the enhancement New feature or request label May 30, 2023
@sparshev sparshev self-assigned this May 30, 2023
* Now messages will be processed/broadcaster only if sum is unique
* Fixed a couple of cluster init issues
* Moved cluster hooks to use messages instead of maps
* Moved integration test logging to use node name instead of node
  address - it's harder to figure out what's happening with randomly
  generated port then with the node name.
* Added long chain (5 locations) cluster sync & simple cluster tests
* Added proper tests fish node stop procedure
sparshev added a commit that referenced this pull request Feb 23, 2024
Fixed multiple issues with Native driver on macos - mostly:
* Proper passing of metadata as env variables to the workload - sudo & su are quite prohibitive there and to not make the node config harder I used just storing the metadata to env export variable and source it in the shell command. The file is stored in tmp and available via ACL to the newly created user only.
* Proper log output for the workload right into the node log - it prepends stdout/stderr lines with the resource identifier and looks nice.
* Using current fish node group as dynamic user group by default - otherwise the user is incomplete.
* Configuration for the binaries location - by default it tries to find it in PATH, but now it's easy to override.
* Modern MacOS on M1 doesn't allow to remove the created user, so have to give aquarium-fish binary "Full Disk Access" permission (added to wiki).

Also a couple of small improvements:
* Moved improved tests helpers from #54 
* Moved a couple of fixes for build system from #54 
* Found & fixed issue with single-process archiving during the build on macos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant