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 2020/11/10 19:40:00 UTC
[jira] [Commented] (GEODE-8261) Do not add proxyID to client
interest list if it is null
[ https://issues.apache.org/jira/browse/GEODE-8261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17229468#comment-17229468 ]
ASF subversion and git services commented on GEODE-8261:
--------------------------------------------------------
Commit d682b662ee25e4894deafd0ac30a9cb63961fe8c in geode's branch refs/heads/support/1.12 from Nabarun Nag
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=d682b66 ]
GEODE-8261: Added a null check for the proxyID. (#5251)
* During shutdown operations proxyID can be null.
* Executing operations using this null value can cause NPEs
* The solution is to skip all operations if the proxyID value is null.
(cherry picked from commit 7609cfaefcaed12ce4bdc9450859e690e1c79815)
> Do not add proxyID to client interest list if it is null
> --------------------------------------------------------
>
> Key: GEODE-8261
> URL: https://issues.apache.org/jira/browse/GEODE-8261
> Project: Geode
> Issue Type: Task
> Components: client queues
> Reporter: Nabarun Nag
> Priority: Major
> Fix For: 1.13.0, 1.14.0
>
>
> * Sometime during shutdown proxyIDs can be nullĀ
> * Attempting to add this null value to data structures can cause NPE. For example the below mentioned code snippets may cause NPE if proxyID is null.
> {code:java}
> protected void addClientCQsAndInterestList(ClientUpdateMessageImpl msg,
> HAEventWrapper haEventWrapper, Map haContainer, String regionName) { ClientProxyMembershipID proxyID = ((HAContainerWrapper) haContainer).getProxyID(regionName);
> if (proxyID != null) {
> if (haEventWrapper.getClientCqs() != null) {
> CqNameToOp clientCQ = haEventWrapper.getClientCqs().get(proxyID);
> if (clientCQ != null) {
> msg.addClientCqs(proxyID, clientCQ);
> }
> } // This is a remote HAEventWrapper.
> // Add new Interested client lists.
> ClientUpdateMessageImpl clientMsg =
> (ClientUpdateMessageImpl) haEventWrapper.getClientUpdateMessage();
> if (clientMsg != null) {
> if (clientMsg.isClientInterestedInUpdates(proxyID)) {
> msg.addClientInterestList(proxyID, true);
> } else if (clientMsg.isClientInterestedInInvalidates(proxyID)) {
> msg.addClientInterestList(proxyID, false);
> }
> }
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)