[
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-513?pag...
]
Florin Haizea commented on HSEARCH-513:
---------------------------------------
Hi Amin,
Sorry for the late response. First, I understand that you could reproduce the poor times
using my project but I don't get what you mean by "Strange when i compare my code
using your domain model I don't get the same performance degradation." You mean
you used my domain model but the libs (or dependencies) from your project?
I downloaded and tested your project and I can confirm the 100 ms insert times (actually
I've got even better times). The mappings are correct as well as the hibernate search
annotations. The only difference is the generator of the ids (yours is
"increment" and mine is "native") but I don't think that matters.
The dependencies we use are different though. I use Spring 3.0.2 you use Spring 3.0.1., I
use hibernate 3.5.1-Final you use the hibernate from the spring-orm - 3.0.1.RELEASE
version. A lot of dependencies are different but we do use the same hibernate search
version (hibernate-search-3.2.0.CR1). I think that one of these dependencies or perhaps a
combination of them is responsible for the slow insert times.
By the way, I don't know if this matters or not, but you use hibernateTemplate to
store the entities and I use org.hibernate.Session.
Thanks
Experiencing long delays when indexing entities saved in different
transactions
-------------------------------------------------------------------------------
Key: HSEARCH-513
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-513
Project: Hibernate Search
Issue Type: Bug
Components: engine
Affects Versions: 3.2.0.CR1
Environment: Hibernate 3.5.1-Final
Spring 3.0.2
MySQL Connector 5.1.6
Reporter: Florin Haizea
Fix For: 3.3.0
Attachments: AllLibsExceptSpringAndHibernate.zip, build.xml,
hibernate-search-jms.zip, hibernate3.jar, HibernateSearchJira.zip, output.txt,
output08052010.rtf, SpringAndHibernateLibs.zip
https://forum.hibernate.org/viewtopic.php?f=9&t=1003224
I have 3 entities Person, Event and ParentOfBirthEvent. I save about 8000 Person objects
in batches of 20, each batch is being saved in a different transaction. After a sufficient
number of entities have been persisted (the saving and indexing of initial batches takes
between150ms and 500ms) the indexing of the entities that are saved in some of the
following batches takes a very large amount of time (sometime even minutes for a whole
batch).
The problem is that in order for these delays to appear there has to be a certain
relationship between the objects saved in the current batch and objects saved in previous
batches. The only way in which I can reproduce this 100% is by importing a file (which was
submitted by one of the users of our app), creating entities based on the data in that
file and saving the entities in batches of 20. When I reach batch number 273 or so the
indexing starts taking a lot of time.
If I removed the @IndexedEmbedded annotation from the "parent" field in the
ParentOfBirthEvent class the problem is solved. Also, if I removed all the hibernate
search listeners from the sessionFactory the problem is solved.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira