You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Bill Burcham (Jira)" <ji...@apache.org> on 2019/12/17 18:19:00 UTC

[jira] [Assigned] (GEODE-7585) Add API to Membership to start a locator

     [ https://issues.apache.org/jira/browse/GEODE-7585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bill Burcham reassigned GEODE-7585:
-----------------------------------

    Assignee: Bill Burcham

> Add API to Membership to start a locator
> ----------------------------------------
>
>                 Key: GEODE-7585
>                 URL: https://issues.apache.org/jira/browse/GEODE-7585
>             Project: Geode
>          Issue Type: Improvement
>          Components: membership
>            Reporter: Bill Burcham
>            Assignee: Bill Burcham
>            Priority: Major
>
> After we have decoupled the tcpserver package from the rest of core, we would like to have a way to inject a TCPServer configuration into membership.
> Right now the core is directly creating and calling GMSLocator from GMSLocatorAdapter. GMSLocatorAdapter is not going through the membership API, it's interacting with a GMSLocator component that was created before Membership was started. GMSLocator is not part of the membership API.
> Instead, we would like core to only use the membership API, so we should have a better way to inject the TCPServer into membership. We want to have all of the membership code encapsulated behind the the classes in gms.api package (Membership, MembershipBuilder). We also want all of the components of membership to be instantiated when we call MembershipBuilder.create.
> For production, we would have an implementation that would include any core-specific behaviors. For isolated testing of the membership component, we would have an implementation that would include just what is required for membership, which is essentially the ability to register a handler for PeerLocationRequests. The InternalLocator will pass along its additional handlers (and whatever else it needs) to membership.
> For the interface, we might just add another setter to our builder like this:
> MembershipBuilder
> .setTcpServerConfiguration(TcpServerConfiguration)
> ......
> Acceptance Criteria:
>     geode-core code will only interface with the classes in the gms.api package. It will not directly use GMSLocator.
>     We have an API to start the locator part of membership within the membership module.
>     We have a test that starts a locator and connects two members to it, using only the membership module (through it's public API). This should be an integration test (no dunit). Perhaps MembershipJUnitTest could be used.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)