Author: hair
Date: 2008-05-15 01:15:57-0700
New Revision: 10578
Modified:
trunk/src/java/org/tigris/scarab/actions/ReportIssue.java
trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java
trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java
Log:
Issue SCB2544: (Leaking IssueSearches from IssueSearchFactory)
Modified: trunk/src/java/org/tigris/scarab/actions/ReportIssue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/actions/ReportIssue.java?view=diff&rev=10578&p1=trunk/src/java/org/tigris/scarab/actions/ReportIssue.java&p2=trunk/src/java/org/tigris/scarab/actions/ReportIssue.java&r1=10577&r2=10578
==============================================================================
--- trunk/src/java/org/tigris/scarab/actions/ReportIssue.java (original)
+++ trunk/src/java/org/tigris/scarab/actions/ReportIssue.java 2008-05-15 01:15:57-0700
@@ -258,10 +258,7 @@
}
finally
{
- if (duplicateSearch != null)
- {
- IssueSearchFactory.INSTANCE.notifyDone();
- }
+ IssueSearchFactory.INSTANCE.notifyDone();
}
setTarget(data, template);
Modified: trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java?view=diff&rev=10578&p1=trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java&p2=trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java&r1=10577&r2=10578
==============================================================================
--- trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java (original)
+++ trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java 2008-05-15 01:15:57-0700
@@ -1911,10 +1911,7 @@
}
finally
{
- if(search != null)
- {
- IssueSearchFactory.INSTANCE.notifyDone();
- }
+ IssueSearchFactory.INSTANCE.notifyDone();
}
return queryResults;
}
Modified: trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java?view=diff&rev=10578&p1=trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java&p2=trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java&r1=10577&r2=10578
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java (original)
+++ trunk/src/java/org/tigris/scarab/util/word/IssueSearchFactory.java 2008-05-15 01:15:57-0700
@@ -117,6 +117,15 @@
return max;
}
+ /** Create a IssueSearch against issue and user.
+ * the caller is expected in a final block to call notifyDone()
+ * regardless if a valid IssueSearch was returned or not or whatever exception was thrown.
+ * @param issue
+ * @param searcher
+ * @return
+ * @throws java.lang.Exception
+ * @throws org.tigris.scarab.util.word.MaxConcurrentSearchException
+ */
public IssueSearch getInstance(Issue issue, ScarabUser searcher)
throws Exception, MaxConcurrentSearchException
{
@@ -125,7 +134,18 @@
return search;
}
- public IssueSearch
+ /** Create a IssueSearch against module, issueType, and user.
+ * the caller is expected in a final block to call notifyDone()
+ * regardless if a valid IssueSearch was returned or not or whatever exception was thrown.
+ *
+ * @param module
+ * @param issueType
+ * @param searcher
+ * @return
+ * @throws java.lang.Exception
+ * @throws org.tigris.scarab.util.word.MaxConcurrentSearchException
+ */
+ public IssueSearch
getInstance(Module module, IssueType issueType, ScarabUser searcher)
throws Exception, MaxConcurrentSearchException
{
@@ -134,6 +154,16 @@
return search;
}
+ /** Create a IssueSearch against mitList and user.
+ * the caller is expected in a final block to call notifyDone()
+ * regardless if a valid IssueSearch was returned or not or whatever exception was thrown.
+ *
+ * @param mitList
+ * @param searcher
+ * @return
+ * @throws java.lang.Exception
+ * @throws org.tigris.scarab.util.word.MaxConcurrentSearchException
+ */
public IssueSearch getInstance(MITList mitList, ScarabUser searcher)
throws Exception, MaxConcurrentSearchException
{
@@ -170,7 +200,7 @@
}
finally
{
- // the caller is expected in a final block to decrement the count
+ // the caller is expected in a final block to decrement the count via a call to notifyDone()
// regardless if a valid IssueSearch was returned or not or whatever exception was thrown.
numActive++;
}
Modified: trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java?view=diff&rev=10578&p1=trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java&p2=trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java&r1=10577&r2=10578
==============================================================================
--- trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java (original)
+++ trunk/src/java/org/tigris/scarab/xmlrpc/SimpleHandler.java 2008-05-15 01:15:57-0700
@@ -362,10 +362,7 @@
}
finally
{
- if(search != null)
- {
- IssueSearchFactory.INSTANCE.notifyDone();
- }
+ IssueSearchFactory.INSTANCE.notifyDone();
}
return matchingIssueIds;
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.