geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anthony Baker (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (GEODE-2812) Add API to get list of live locators
Date Sat, 17 Jun 2017 18:04:34 GMT

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

Anthony Baker closed GEODE-2812.
--------------------------------

> Add API to get list of live locators
> ------------------------------------
>
>                 Key: GEODE-2812
>                 URL: https://issues.apache.org/jira/browse/GEODE-2812
>             Project: Geode
>          Issue Type: Improvement
>          Components: client/server
>            Reporter: Masaki Yamakawa
>            Priority: Minor
>             Fix For: 1.2.0
>
>
> There is a Geode cluster using a logical member group, and from the client, the connection
pool to the logical member group is connected using the PoolFactory API at the timing when
connection becomes necessary.
> At this time, even though the locator that was running at the initial connection stops
due to reasons such as regular maintenance etc., even if the alternate locator is started
before maintenance, I can not connect to the locator in the static initial list.
> # Client side:PoolManager.createFactory().addLocator("localhost", 10334).setServerGroup("GroupA").create("pool1");
> # Geode cluster:start locator [ localhost:10335 ].
> # Geode cluster:stop locator [ localhost:10334 ].
> # Client side:PoolManager.createFactory().addLocator("localhost", 10334).setServerGroup("GroupB").create("pool2");
> Therefore, I would like to decide the connection destination based on the live locator
list of another logical member group.
> I added an API that can get the list of live locators from the Pool. Use the API as follows:
> {code:java|borderStyle=solid}
> Pool pool = PoolManager.createFactory()
>   .addLocator("localhost", 10334)
>   .setSubscriptionEnabled(true).setServerGroup("GroupA")
>   .create("GroupAPool");
> List<InetSocketAddress> = pool.getLiveLocators();
> {code}
> {quote}
> Note:
> The list of live locators gets the result of the UpdateLocatorListTask periodically running
in AutoConnectionSourceImpl.
> Therefore, whether or not it is alive will cause a time lag, depending on the task execution
interval.
> Also, the result of ExplicitConnectionSourceImpl without using a locator is always empty.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message