Author: tolusha
Date: 2011-05-27 06:39:22 -0400 (Fri, 27 May 2011)
New Revision: 4436
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LazyTextExtractorField.java
Log:
EXOJCR-1200: PROBLEMS during load testing *WARN * [Thread-72] LazyTextExtractorField:
Exception reading value for field: Stream closed
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LazyTextExtractorField.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LazyTextExtractorField.java 2011-05-27
07:49:03 UTC (rev 4435)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/LazyTextExtractorField.java 2011-05-27
10:39:22 UTC (rev 4436)
@@ -81,34 +81,39 @@
{
if (extract == null)
{
- StringBuffer textExtract = new StringBuffer();
- char[] buffer = new char[1024];
- int len;
- try
+ synchronized (this)
{
- while ((len = reader.read(buffer)) > -1)
+ if (extract == null)
{
- textExtract.append(buffer, 0, len);
+ StringBuffer textExtract = new StringBuffer();
+ char[] buffer = new char[1024];
+ int len;
+ try
+ {
+ while ((len = reader.read(buffer)) > -1)
+ {
+ textExtract.append(buffer, 0, len);
+ }
+ }
+ catch (IOException e)
+ {
+ log.warn("Exception reading value for field: " +
e.getMessage());
+ log.debug("Dump:", e);
+ }
+ finally
+ {
+ try
+ {
+ reader.close();
+ }
+ catch (IOException e)
+ {
+ log.error(e.getLocalizedMessage(), e);
+ }
+ }
+ extract = textExtract.toString();
}
}
- catch (IOException e)
- {
- log.warn("Exception reading value for field: " + e.getMessage());
- log.debug("Dump:", e);
- }
- finally
- {
- //IOUtils.closeQuietly(reader);
- try
- {
- reader.close();
- }
- catch (IOException e)
- {
- log.error(e.getLocalizedMessage(), e);
- }
- }
- extract = textExtract.toString();
}
return extract;
}
Show replies by date