[hibernate-commits] Hibernate SVN: r19178 - in search/trunk/hibernate-search/src/main/java/org/hibernate/search: batchindexing and 1 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Apr 6 14:29:09 EDT 2010
Author: sannegrinovero
Date: 2010-04-06 14:29:09 -0400 (Tue, 06 Apr 2010)
New Revision: 19178
Modified:
search/trunk/hibernate-search/src/main/java/org/hibernate/search/MassIndexer.java
search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchCoordinator.java
search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchIndexingWorkspace.java
search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/IdentifierProducer.java
search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MassIndexerImpl.java
Log:
HSEARCH-495 IdentifierProducer: ClassCastException
Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/MassIndexer.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/MassIndexer.java 2010-04-06 18:17:40 UTC (rev 19177)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/MassIndexer.java 2010-04-06 18:29:09 UTC (rev 19178)
@@ -115,7 +115,7 @@
* @param maximum
* @return
*/
- MassIndexer limitIndexedObjectsTo(int maximum);
+ MassIndexer limitIndexedObjectsTo(long maximum);
/**
* Starts the indexing process in background (asynchronous).
Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchCoordinator.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchCoordinator.java 2010-04-06 18:17:40 UTC (rev 19177)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchCoordinator.java 2010-04-06 18:29:09 UTC (rev 19178)
@@ -61,7 +61,7 @@
private final boolean optimizeAfterPurge;
private final CountDownLatch endAllSignal;
private final MassIndexerProgressMonitor monitor;
- private final int objectsLimit;
+ private final long objectsLimit;
private BatchBackend backend;
@@ -69,7 +69,7 @@
SearchFactoryImplementor searchFactoryImplementor,
SessionFactory sessionFactory, int objectLoadingThreads,
int collectionLoadingThreads, CacheMode cacheMode,
- int objectLoadingBatchSize, int objectsLimit,
+ int objectLoadingBatchSize, long objectsLimit,
boolean optimizeAtEnd,
boolean purgeAtStart, boolean optimizeAfterPurge,
MassIndexerProgressMonitor monitor) {
Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchIndexingWorkspace.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchIndexingWorkspace.java 2010-04-06 18:17:40 UTC (rev 19177)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/BatchIndexingWorkspace.java 2010-04-06 18:29:09 UTC (rev 19178)
@@ -74,7 +74,7 @@
private final BatchBackend backend;
- private final int objectsLimit;
+ private final long objectsLimit;
public BatchIndexingWorkspace(SearchFactoryImplementor searchFactoryImplementor, SessionFactory sessionFactory,
Class<?> entityType,
@@ -82,7 +82,7 @@
CacheMode cacheMode, int objectLoadingBatchSize,
CountDownLatch endAllSignal,
MassIndexerProgressMonitor monitor, BatchBackend backend,
- int objectsLimit) {
+ long objectsLimit) {
this.indexedType = entityType;
this.searchFactory = searchFactoryImplementor;
Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/IdentifierProducer.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/IdentifierProducer.java 2010-04-06 18:17:40 UTC (rev 19177)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/batchindexing/IdentifierProducer.java 2010-04-06 18:29:09 UTC (rev 19178)
@@ -60,7 +60,7 @@
private final Class<?> indexedType;
private final MassIndexerProgressMonitor monitor;
- private final int objectsLimit;
+ private final long objectsLimit;
/**
* @param fromIdentifierListToEntities the target queue where the produced identifiers are sent to
@@ -75,7 +75,7 @@
SessionFactory sessionFactory,
int objectLoadingBatchSize,
Class<?> indexedType, MassIndexerProgressMonitor monitor,
- int objectsLimit) {
+ long objectsLimit) {
this.destination = fromIdentifierListToEntities;
this.sessionFactory = sessionFactory;
this.batchSize = objectLoadingBatchSize;
@@ -111,14 +111,14 @@
}
private void loadAllIdentifiers(final StatelessSession session) throws InterruptedException {
- Long totalCount = (Long) session
+ Number countAsNumber = (Number) session
.createCriteria( indexedType )
- .setProjection( Projections.count( "id" ) )
+ .setProjection( Projections.rowCount() )
.setCacheable( false )
.uniqueResult();
-
- if ( objectsLimit != 0 && objectsLimit < totalCount.intValue() ) {
- totalCount = Long.valueOf( objectsLimit );
+ long totalCount = countAsNumber.longValue();
+ if ( objectsLimit != 0 && objectsLimit < totalCount ) {
+ totalCount = objectsLimit;
}
log.debug( "going to fetch {} primary keys", totalCount);
monitor.addToTotalCount( totalCount );
@@ -131,7 +131,7 @@
ScrollableResults results = criteria.scroll( ScrollMode.FORWARD_ONLY );
ArrayList<Serializable> destinationList = new ArrayList<Serializable>( batchSize );
- int counter = 0;
+ long counter = 0;
try {
while ( results.next() ) {
Serializable id = (Serializable) results.get( 0 );
Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MassIndexerImpl.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MassIndexerImpl.java 2010-04-06 18:17:40 UTC (rev 19177)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MassIndexerImpl.java 2010-04-06 18:29:09 UTC (rev 19178)
@@ -61,7 +61,7 @@
private int collectionLoadingThreads = 4; //also responsible for loading of lazy @IndexedEmbedded collections
// private int writerThreads = 1; //also running the Analyzers
private int objectLoadingBatchSize = 10;
- private int objectsLimit = 0; //means no limit at all
+ private long objectsLimit = 0; //means no limit at all
private CacheMode cacheMode = CacheMode.IGNORE;
private boolean optimizeAtEnd = true;
private boolean purgeAtStart = true;
@@ -193,7 +193,7 @@
monitor );
}
- public MassIndexer limitIndexedObjectsTo(int maximum) {
+ public MassIndexer limitIndexedObjectsTo(long maximum) {
this.objectsLimit = maximum;
return this;
}
More information about the hibernate-commits
mailing list