Hi Emmanuel,
Here is what I have in mind:
- Providing a nice API to get the indexed classes. Currently I use
something extracted from MassIndexerImpl#toRootEntities. We use it
currently for our reindexAll implementation. As the MassIndexer uses
too much threads and connections when you have a lot of entities, it
allows us to limit this number by working an entity at a time. This
one should be easy: the code is already written but it needs
refactoring and a proper API.
-
https://hibernate.onjira.com/browse/HSEARCH-598 : this is the main
issue why we need the above workaround. I'm pretty sure it could be
possible to set a global maximum number of threads instead of a limit
per entity which is a problem when you have a lot of indexed entities.
Just to explain the problem, we have customers which don't authorize
more than 20 connections to the database cluster for applications with
only a few users. It's currently difficult to use the MassIndexer out
of the box in this particular use case. I don't know the MassIndexer
code well enough to know if it's an easy task or not but it might be.
BTW, on the same subject, it might be a good idea to work together at
Mix-IT in Lyon - I saw you've planned to speak here.
--
Guillaume