You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Owen Nichols (Jira)" <ji...@apache.org> on 2020/11/10 23:14:00 UTC
[jira] [Updated] (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:all-tabpanel ]
Owen Nichols updated GEODE-8261:
--------------------------------
Fix Version/s: 1.12.1
> 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.12.1, 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)