Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-9598

processEventAndDeliverConflatable in clientRegistrationEventQueueManager unnecessarily adds same client routing information to the existing HAEventWrapper

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.12.0
    • None
    • client queues

    Description

      In processEventAndDeliverConflatable method, following code is executed.

                if (filterRoutingInfo != null) {
                  FilterRoutingInfo.FilterInfo filterInfo = filterRoutingInfo.getLocalFilterInfo();
      
                  if (filterInfo != null) {
                    ClientUpdateMessageImpl clientUpdateMessage = conflatable instanceof HAEventWrapper
                        ? (ClientUpdateMessageImpl) ((HAEventWrapper) conflatable)
                            .getClientUpdateMessage()
                        : (ClientUpdateMessageImpl) conflatable;
      
                    internalCacheEvent.setLocalFilterInfo(filterInfo);
      
                    Set<ClientProxyMembershipID> newFilterClientIDs =
                        cacheClientNotifier.getFilterClientIDs(internalCacheEvent, filterProfile,
                            filterInfo,
                            clientUpdateMessage);
      

      In cacheClientNotifier.getFilterClientIDs method, each client information is added again to the HAEventWrapper. It is unnecessary. Instead, it should only find the client this cacheClientProxy is for, and only add that client info into the HAEventWrapper.

      Attachments

        Activity

          People

            Unassigned Unassigned
            eshu Eric Shu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: