[
https://issues.apache.org/jira/browse/IGNITE-9858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16681386#comment-16681386
]
Dmitriy Govorukhin commented on IGNITE-9858:
--------------------------------------------
[~xtern] I reviewed your changes and I guess we can do code better, If I
understand correctly, the main problem is in shared mode for IP finder we can
get a race between injection and registration address? If it true, we can do
not call spi.ipFinder.initializeLocalAddresses for client.
What about my fix example? Sure, we should remove isClient check inside
TcpDiscoveryIpFinderAdapter too.
{code}
boolean clientDiscovery = locNode.isClient() && !spi.isForceServerMode();
while (true) {
try {
if (!clientDiscovery){
spi.ipFinder.initializeLocalAddresses(
U.resolveAddresses(spi.getAddressResolver(),
locNode.socketAddresses()));
}
// Success.
break;
}
{code}
> [Test Failed] SystemCacheNotConfiguredTest#test flaky fails on TC (timeout).
> ----------------------------------------------------------------------------
>
> Key: IGNITE-9858
> URL: https://issues.apache.org/jira/browse/IGNITE-9858
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.6
> Reporter: Pavel Pereslegin
> Assignee: Pavel Pereslegin
> Priority: Major
> Labels: MakeTeamcityGreenAgain
> Fix For: 2.8
>
>
> SystemCacheNotConfiguredTest hangs sometimes on TeamCity (timeout).
> Example of such failures on master branch:
> [https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&buildTypeId=&tab=testDetails&testNameId=-2762467041583095183&order=TEST_STATUS_DESC&itemsCount=50&branch_IgniteTests24Java8=%3Cdefault%3E]
> When we using ip finder in shared mode each node should register self address
> (except clients, obviously).
> Check that the node is a client uses installed (via DI
> @IgniteInstanceResource) Ignite instance (see
> {{TcpDiscoveryIpFinderAdapter#initializeLocalAddresses}}).
> So when client and server starts simultaneously, the following scenario is
> possible - Ignite server injected at first, then the Ignite client injected
> when the SPI is initialized ({{spiStart}}) both nodes assume that the local
> node is a client and don't register local address.
> {noformat}
> [2018-10-11 18:03:49,794][WARN
> ][tcp-client-disco-msg-worker-#57%client%][TcpDiscoverySpi] IP finder
> returned empty addresses list. Please check IP finder configuration. Will
> retry every 2000 ms. Change 'reconnectDelay' to configure the frequency of
> retries.{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)