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)