[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