Hi Ryan, thank you for bringing your concern.

Geode's release process dictates a time-based schedule 
<https://cwiki.apache.org/confluence/display/GEODE/Release+Schedule> to cut 
release branches.  The release/1.10.0 
<https://github.com/apache/geode/tree/release/1.10.0> branch was already cut 
over 3 week ago, but the “critical fixes” rule does allow critical fixes to be 
brought to the release branch by proposal on the dev list, as you have done 
here.

If there is consensus from the Geode community that your proposed change 
satisfies the “critical fixes” rule, I will be happy to bring it to the 1.10.0 
release branch.

Due to the complexity of this change, could please open a PR against 
release/1.10.0 containing the exact changes you want to bring?

Regards
- Owen

> On Aug 26, 2019, at 3:10 PM, Ryan McMahon <mcmellaw...@apache.org> wrote:
> 
> Hi all,
> 
> I would like to propose cherry-picking GEODE-7088 and GEODE-7089 to the
> 1.10.0 release branch.  The two JIRAs are related to the same root problem,
> which I would classify as critical.  We discovered a case where a failed
> client registration could lead to a memory leak in a server, eventually
> causing the server to crash due to lack of memory.
> 
> The issue is instigated by a ConcurrentModificationException due to
> iteration of a non-thread safe collection while it is being mutated
> (GEODE-7088).  This exception occurs when the client's queue image is being
> copied from one server to the next during client registration, and it
> causes the client's registration to fail.  The client would likely succeed
> if it retried registration with that same server, but if it registers with
> a different server, we end up leaking events to the client's registration
> queue on the original server (GEODE-7089).
> 
> The fix for GEODE-7088 is to use thread-safe collections for interested
> clients in client update messages.  The fix for GEODE-7089 is to always
> drain and remove the registration queue regardless of success or failure.
> Together, these fixes prevent the failed registrations and memory leak.
> 
> The SHAs for the fixes and tests in develop are:
> 
> GEODE-7088
> - 174af1d23fb7e09eb2bc2fa55479df854850fadb
> - 5bb753a8f4ff2886acd8e62d6f51fea58e37881d
> 
> GEODE-7089
> - 5d0153ad4adb1612a1083673f98b1982819a6589
> 
> This proposal is to cherry-pick these commits to 1.10.0 release branch.
> 
> Thanks,
> Ryan McMahon

Reply via email to