[hibernate-commits] Hibernate SVN: r15382 - in search/trunk: src/java/org/hibernate/search/reader and 1 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Thu Oct 23 10:42:43 EDT 2008
Author: sannegrinovero
Date: 2008-10-23 10:42:43 -0400 (Thu, 23 Oct 2008)
New Revision: 15382
Modified:
search/trunk/doc/reference/en/modules/architecture.xml
search/trunk/doc/reference/en/modules/configuration.xml
search/trunk/src/java/org/hibernate/search/reader/ReaderProviderFactory.java
search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java
search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java
search/trunk/src/test/org/hibernate/search/test/reader/SharedBufferedReaderPerfTest.java
search/trunk/src/test/org/hibernate/search/test/reader/SharedReaderPerfTest.java
Log:
HSEARCH-279 : deprecate SharedReaderProvider replaced by SharingBufferReaderProvider as default ReaderProvider
Modified: search/trunk/doc/reference/en/modules/architecture.xml
===================================================================
--- search/trunk/doc/reference/en/modules/architecture.xml 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/doc/reference/en/modules/architecture.xml 2008-10-23 14:42:43 UTC (rev 15382)
@@ -228,22 +228,14 @@
multiple queries and threads provided that the
<classname>IndexReader</classname> is still up-to-date. If the
<classname>IndexReader</classname> is not up-to-date, a new one is
- opened and provided. Generally speaking, </para>
- </section>
-
- <section>
- <title>Shared Segments</title>
-
- <para>This strategies goes a step further the shared strategy and tries
- to minimize reopening even when the underlying index has changed. Each
+ opened and provided. Each
<classname>IndexReader</classname> is made of several
<classname>SegmentReader</classname>s. This strategy only reopens
- segments that have been modified or created and shared the already
- loaded segments. This strategy will become the default strategy in the
- near future.</para>
-
- <para>The name of this strategy is
- <literal>shared-segments</literal>.</para>
+ segments that have been modified or created after last opening and
+ shares the already loaded segments from the previous instance.
+ This strategy is the default.</para>
+
+ <para>The name of this strategy is <literal>shared</literal>.</para>
</section>
<section>
Modified: search/trunk/doc/reference/en/modules/configuration.xml
===================================================================
--- search/trunk/doc/reference/en/modules/configuration.xml 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/doc/reference/en/modules/configuration.xml 2008-10-23 14:42:43 UTC (rev 15382)
@@ -471,16 +471,10 @@
<itemizedlist>
<listitem>
<para><literal>shared</literal>: share index readers across several
- queries</para>
+ queries. This strategy is the most efficient.</para>
</listitem>
<listitem>
- <para><literal>shared-segments</literal>: index readers are shared
- across several queries and when reopening is needed, the inchanged
- state is shared. This strategy is the most efficient.</para>
- </listitem>
-
- <listitem>
<para><literal>not-shared</literal>: create an index reader for each
individual query</para>
</listitem>
@@ -491,7 +485,7 @@
<programlisting>hibernate.search.reader.strategy = not-shared</programlisting>
- <para>Adding this property switch to the <literal>not-shared</literal>
+ <para>Adding this property switches to the <literal>not-shared</literal>
strategy.</para>
<para>Or if you have a custom reader strategy:</para>
Modified: search/trunk/src/java/org/hibernate/search/reader/ReaderProviderFactory.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/reader/ReaderProviderFactory.java 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/src/java/org/hibernate/search/reader/ReaderProviderFactory.java 2008-10-23 14:42:43 UTC (rev 15382)
@@ -34,14 +34,15 @@
ReaderProvider readerProvider;
if ( StringHelper.isEmpty( impl ) ) {
//put another one
- readerProvider = new SharedReaderProvider();
+ readerProvider = new SharingBufferReaderProvider();
}
else if ( "not-shared".equalsIgnoreCase( impl ) ) {
readerProvider = new NotSharedReaderProvider();
}
else if ( "shared".equalsIgnoreCase( impl ) ) {
- readerProvider = new SharedReaderProvider();
+ readerProvider = new SharingBufferReaderProvider();
}
+ //will remove next "else":
else if ( "shared-segments".equalsIgnoreCase( impl ) ) {
readerProvider = new SharingBufferReaderProvider();
}
Modified: search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/src/java/org/hibernate/search/reader/SharedReaderProvider.java 2008-10-23 14:42:43 UTC (rev 15382)
@@ -24,9 +24,10 @@
/**
* Share readers per SearchFactory, reusing them iff they are still valid.
- *
+ * @Deprecated replaced by SharingBufferReaderProvider
* @author Emmanuel Bernard
*/
+ at Deprecated
public class SharedReaderProvider implements ReaderProvider {
private static final Logger log = LoggerFactory.make();
Modified: search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/src/java/org/hibernate/search/reader/SharingBufferReaderProvider.java 2008-10-23 14:42:43 UTC (rev 15382)
@@ -23,11 +23,10 @@
import org.hibernate.search.util.LoggerFactory;
/**
- * As does SharedReaderProvider this also shares IndexReaders as long as they are "current";
+ * This ReaderProvider shares IndexReaders as long as they are "current";
* main difference with SharedReaderProvider is the way to update the Readers when needed:
* this uses IndexReader.reopen() which should improve performance on larger indexes
* as it shares buffers with previous IndexReader generation for the segments which didn't change.
- * Current drawbacks are: need of Lucene > 2.3.0 and less mature (experimental).
*
* @author Sanne Grinovero
*/
Modified: search/trunk/src/test/org/hibernate/search/test/reader/SharedBufferedReaderPerfTest.java
===================================================================
--- search/trunk/src/test/org/hibernate/search/test/reader/SharedBufferedReaderPerfTest.java 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/src/test/org/hibernate/search/test/reader/SharedBufferedReaderPerfTest.java 2008-10-23 14:42:43 UTC (rev 15382)
@@ -3,6 +3,7 @@
import org.hibernate.cfg.Configuration;
import org.hibernate.search.Environment;
+import org.hibernate.search.reader.SharingBufferReaderProvider;
/**
* @author Emmanuel Bernard
@@ -10,6 +11,6 @@
public class SharedBufferedReaderPerfTest extends ReaderPerfTestCase {
protected void configure(Configuration cfg) {
super.configure( cfg );
- cfg.setProperty( Environment.READER_STRATEGY, "shared-segments" );
+ cfg.setProperty( Environment.READER_STRATEGY, SharingBufferReaderProvider.class.getCanonicalName() );
}
}
\ No newline at end of file
Modified: search/trunk/src/test/org/hibernate/search/test/reader/SharedReaderPerfTest.java
===================================================================
--- search/trunk/src/test/org/hibernate/search/test/reader/SharedReaderPerfTest.java 2008-10-23 10:55:33 UTC (rev 15381)
+++ search/trunk/src/test/org/hibernate/search/test/reader/SharedReaderPerfTest.java 2008-10-23 14:42:43 UTC (rev 15382)
@@ -3,13 +3,15 @@
import org.hibernate.cfg.Configuration;
import org.hibernate.search.Environment;
+import org.hibernate.search.reader.SharedReaderProvider;
/**
* @author Emmanuel Bernard
*/
+ at SuppressWarnings("deprecation")
public class SharedReaderPerfTest extends ReaderPerfTestCase {
protected void configure(Configuration cfg) {
super.configure( cfg );
- cfg.setProperty( Environment.READER_STRATEGY, "shared" );
+ cfg.setProperty( Environment.READER_STRATEGY, SharedReaderProvider.class.getCanonicalName() );
}
}
More information about the hibernate-commits
mailing list