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

Modify DistributedNativeConnectionProvider to Return a Map<UUID, Node> #778

Closed
VictorCavichioli opened this issue Nov 27, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent

Comments

@VictorCavichioli
Copy link
Contributor

Story Description:

The initial design of this interface returns a List generated in the connection builder based on the agent type. However, with the introduction of the core module, it became evident that changing this design to use a Map<UUID, Node> would be more effective, as the JMX connection already follows a similar pattern.

Additionally, following the implementation of issue #699, we now have the ability to track topology changes by modifying the list of nodes in the NativeConnection bean. For this to work consistently across the project, it is essential that this list remains unique and synchronized. To achieve this, I propose passing the entire NativeConnection bean to the classes that utilize the nodes. This approach ensures that we always work with the most up-to-date set of nodes.

Acceptance Criteria

  • Refactor Interface to Use Map<UUID, Node>: Update the existing interface to replace List with Map<UUID, Node> to align with JMX connection patterns.
  • Integrate NativeConnection Bean: Modify relevant classes to directly use the NativeConnection bean for node access, ensuring all references point to the same source of truth.

Definition of Done

  • The interface is updated to use Map<UUID, Node> and successfully integrated into the core module.
  • All relevant classes are refactored to consume the NativeConnection bean instead of duplicating node lists.
  • Code changes are reviewed, merged, and released without any regressions in functionality.
  • Documentation is updated to reflect the new design and usage patterns.

Notes

  • Ensure that the refactoring aligns with the existing architecture and does not introduce significant performance overhead.
  • Verify that all consumers of the NativeConnection bean handle topology changes gracefully.
  • Related to Investigate next gen architecture for ecchronos #652
@VictorCavichioli VictorCavichioli added the enhancement New feature or request label Nov 27, 2024
@VictorCavichioli VictorCavichioli self-assigned this Nov 27, 2024
@VictorCavichioli VictorCavichioli added the PoC/Agent Tasks related to new generation of ecchronos as an agent label Nov 27, 2024
@VictorCavichioli
Copy link
Contributor Author

PR merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent
Projects
None yet
Development

No branches or pull requests

1 participant