[
https://issues.apache.org/jira/browse/GEODE-5591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Goller updated GEODE-5591:
-------------------------------
Description:
{{org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java:66}} denotes a
string comparison that relies on the specific C runtime that the JDK is run on
top of. This code will misbehave on Alpine Linux (A popular linux distribution
for containers) because it is based on the musl libc, not the GNU libc. The
intent of the code is to throw an exception if the receiver cannot bind to the
requested address. This will not occur if the JDK is compiled against musl
libc. As an aside, the entire retry logic seems suspicious as it only retries
in situations that are static and should not change, so the reason for the code
should be re-evaluated and made more robust and not dependent on native os
information. (was:
org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java:66 denotes a
string comparison that relies on the specific C runtime that the JDK is run on
top of. This code will misbehave on Alpine Linux (A popular linux distribution
for containers) because it is based on the musl libc, not the GNU libc. The
intent of the code is to throw an exception if the receiver cannot bind to the
requested address. This will not occur if the JDK is compiled against musl
libc. As an aside, the entire retry logic seems suspicious as it only retries
in situations that are static and should not change, so the reason for the code
should be re-evaluated and made more robust and not dependent on native os
information.)
> GatewayReceiverImpl.start() retry logic is dependent on JDK's underlying C
> runtime
> ----------------------------------------------------------------------------------
>
> Key: GEODE-5591
> URL: https://issues.apache.org/jira/browse/GEODE-5591
> Project: Geode
> Issue Type: Bug
> Components: wan
> Reporter: Sean Goller
> Priority: Major
>
> {{org/apache/geode/internal/cache/wan/GatewayReceiverImpl.java:66}} denotes a
> string comparison that relies on the specific C runtime that the JDK is run
> on top of. This code will misbehave on Alpine Linux (A popular linux
> distribution for containers) because it is based on the musl libc, not the
> GNU libc. The intent of the code is to throw an exception if the receiver
> cannot bind to the requested address. This will not occur if the JDK is
> compiled against musl libc. As an aside, the entire retry logic seems
> suspicious as it only retries in situations that are static and should not
> change, so the reason for the code should be re-evaluated and made more
> robust and not dependent on native os information.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)