[
https://issues.apache.org/jira/browse/IGNITE-29239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitry Werner updated IGNITE-29239:
-----------------------------------
Description:
TcpDiscoverySelfTest#testGetEffectiveNodeAddressesFiltersUnresolvedAddressWithoutNpe
(inherited by TcpDiscoverySslSelfTest) intermittently fails:
java.lang.AssertionError: Test node should have at least one unresolved address
at TcpDiscoverySelfTest.java:2403
*Root cause*
The fixture creates the "unresolved" address via: new
InetSocketAddress("unresolved-host-name-that-does-not-resolve-xyz", 47500).
This constructor performs a live DNS lookup; the address is unresolved
(getAddress() == null) only if the lookup fails. On CI agents with
wildcard/sinkhole DNS or search-domain resolution the bogus name may resolve,
so the injected address is not unresolved and the assert fails. Resolver
behavior is intermittent, hence the flakiness.
*Fix*
Use InetSocketAddress.createUnresolved(...) instead — deterministic, no DNS
lookup, getAddress() is always null.
> Fix flaky
> TcpDiscoverySelfTest.testGetEffectiveNodeAddressesFiltersUnresolvedAddressWithoutNpe
> ----------------------------------------------------------------------------------------------
>
> Key: IGNITE-29239
> URL: https://issues.apache.org/jira/browse/IGNITE-29239
> Project: Ignite
> Issue Type: Bug
> Reporter: Dmitry Werner
> Assignee: Dmitry Werner
> Priority: Minor
> Labels: MakeTeamcityGreenAgain
> Fix For: 2.20
>
>
> TcpDiscoverySelfTest#testGetEffectiveNodeAddressesFiltersUnresolvedAddressWithoutNpe
> (inherited by TcpDiscoverySslSelfTest) intermittently fails:
> java.lang.AssertionError: Test node should have at least one unresolved
> address at TcpDiscoverySelfTest.java:2403
> *Root cause*
> The fixture creates the "unresolved" address via: new
> InetSocketAddress("unresolved-host-name-that-does-not-resolve-xyz", 47500).
> This constructor performs a live DNS lookup; the address is unresolved
> (getAddress() == null) only if the lookup fails. On CI agents with
> wildcard/sinkhole DNS or search-domain resolution the bogus name may resolve,
> so the injected address is not unresolved and the assert fails. Resolver
> behavior is intermittent, hence the flakiness.
> *Fix*
> Use InetSocketAddress.createUnresolved(...) instead — deterministic, no DNS
> lookup, getAddress() is always null.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)