You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/08/31 17:17:00 UTC
[jira] [Commented] (GEODE-5591) GatewayReceiverImpl.start() retry
logic is dependent on JDK's underlying C runtime
[ https://issues.apache.org/jira/browse/GEODE-5591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16599036#comment-16599036 ]
ASF subversion and git services commented on GEODE-5591:
--------------------------------------------------------
Commit b6eb8faa855fdb44c3b30bad2ad47b3d3371413b in geode's branch refs/heads/develop from [~smgoller]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=b6eb8fa ]
[GEODE-5591] If there is a BindException we should always throw. (#2351)
* Replace start() logic with something more deterministic and fix test.
* Iterate over possible ports instead of picking random ones.
* Check for an exception of the appropriate type and replace old
assertion logic.
* Refactor testing an exception was thrown
* Fix expected message to match exception.
Co-Authored-By: Patrick Rhomberg <pr...@pivotal.io>
Co-Authored-By: Sean Goller <sg...@pivotal.io>
> 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
> Labels: pull-request-available
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> {{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)