Delete only delta import does not commit index ----------------------------------------------
Key: SOLR-1180 URL: https://issues.apache.org/jira/browse/SOLR-1180 Project: Solr Issue Type: Bug Components: contrib - DataImportHandler Affects Versions: 1.3 Environment: OS: Windows & Linux. Java: 1.6 DB: MySQL & SQL Server Reporter: Ali Syed Priority: Minor Entity is set up in db-data-config.xml as follows I<entity dataSource="mysqlDS" name="contact" pk="id" query="SELECT o.* FROM Contact o WHERE (o.deleted is null OR o.deleted = 0)" deltaQuery="select id from Contact o where (o.deleted is null OR o.deleted = 0) AND (o.createDate > '${dataimporter.last_index_time}' OR o.updateDate > '${dataimporter.last_index_time}')" deletedPkQuery="select id FROM Contact o WHERE o.deleted = 1 AND (o.createDate > '${dataimporter.last_index_time}' OR o.updateDate > '${dataimporter.last_index_time}')"> ... </entity> If a delta import is trigger which causes only documents to be deleted the index is not commit. Problem seems to be in DocBuilder.execute() method checks for deletedDocCount before commiting. if (importStatistics.docCount.get() > 0 || importStatistics.deletedDocCount.get() > 0) { commit(lastIndexTimeProps); } doDelta() method sets the count as follows importStatistics.deletedDocCount.addAndGet(deletedKeys.size()); but after deleteAll(Set) method removes the each key from iterator while (...) ... iter.remove(); Simply remove iter.remove() line should fix the problem. I am not sure what is the point of removing the keys from the iterator. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.