[ 
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)

Reply via email to