From 4ee9f7e5b2a8ae82e1969b0fc6e29d96c2994a11 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 13 Nov 2008 19:22:03 +0000
Subject: [PATCH] This change relates to issue 3567.
---
opendj-sdk/opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java b/opendj-sdk/opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java
index d7eee43..96809e7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/protocols/ldap/LDAPClientConnection.java
@@ -1287,10 +1287,14 @@
{
if (ps.getMessageID() == messageID)
{
+ // We only need to find the first persistent search
+ // associated with the provided message ID. The persistent
+ // search will ensure that all other related persistent
+ // searches are cancelled.
CancelResult cancelResult = ps.cancel();
if (keepStats && (cancelResult.getResultCode() ==
- ResultCode.CANCELED))
+ ResultCode.CANCELED))
{
statTracker.updateAbandonedOperation();
}
@@ -1428,6 +1432,11 @@
for (PersistentSearch persistentSearch : getPersistentSearches())
{
+ if (persistentSearch.getMessageID() == messageID)
+ {
+ continue;
+ }
+
persistentSearch.cancel();
lastCompletionTime.set(TimeThread.getTime());
}
--
Gitblit v1.10.0