We're updating the issue view to help you get more done. 

Remove database call from CancelSubscriptionTask

Description

The cluster task that removes a pubsub node subscription is provided in org.jivesoftware.openfire.pubsub.cluster.CancelSubscriptionTask. This task intends to 'clean up' the in-memory representation of subscription states on other cluster nodes, after the cluster node where the initial event occured has performed the 'heavy lifting' of the removal process (persisting the change in the database, notifying relevant entities, etc).

The cluster task needs not perform this 'heavy lifting' again, as that will already have been done. However, given the API that's used, each cluster node on which the task is executed (and that has the node in memory) will currently attempt to remove the subscription from the database. As this is the responsibility of the originating cluster member, these removals will have no effect, other than require database resources.

To avoid having potentially many cluster nodes execute a pointless database call, the CancelSubscriptionTask must be modified to avoid unnecessary database interactions.

Environment

None

Acceptance Test - Entry

None

Assignee

Guus der Kinderen

Reporter

Guus der Kinderen

Labels

None

Expected Effort

None

Ignite Forum URL

None

Components

Priority

Minor
Configure