|
I'm experiencing this exact issue with 1.1 M3 SNAPSHOT.
A search of the 1.1 M3 SNAPSHOT source code doesn't include anything like "DISABLE_AUTO_JOIN_SESSION" anywhere. I just downloded 1.1 M3, and if you have a look at CompassEnvironment class (under org/compass/core/config), you can see the setting (DISABLE_AUTO_JOIN_SESSION).
Also, have a look at AbstractTransactionFactory, and see where it is being read. Okay - I found the code - that'll teach me to rely on Windows file search.
The only way I can get index creation to work without completely consuming all available memory was to replace: <property name="compassSettings"> with: <property name="compassSettings"> You don't have to set the disableAutoJoinSession in the settings, it will be automatically set by the CompassGps in the index method. I have double check the fix, and it looks like it does use BATCH_INSERT transaction isolation.
Damian, what happens when you work with local file system connection and not Jdbc (with SpringSync), does it work? You might have a different problem. I have added better debugging which prints out the transaction isolation when starting a transaction, maybe you could check that it starts a BATCH_INSERT transaction isolation for the Gps indexing. By the way, Randy, have you tried the latest 1.1 M3 SNAPSHOT? Does it fix your problem?
For our project, we've actually rolled back to v1.0; however, I just ran the index operation using the latest 1.1M3 SNAPSHOT and it definitely has fixed the problem. Thanks a lot for your help! I'm excited about the new features in 1.1 (particularly the ability to simply use a CompassSession as an injected bean within a transactional scope) and will look forward to getting back to the 1.1 release. Thanks for the good communcation and help.
With the above configuration, including the SpringSyncTransactionFactory and a local filesystem connection (not JDBC) I still get eternal memory consumption leading to out of Java Heap Space.
Damina, maybe you could lower the maxBufferedDocs and mergeFactor, they cause the indexing process to consume more memory.
Anyhow, I am going to close this issue, since it seems like the bug it was opened for is fixed. If you still have problems, the forum would be the best place (and of course, if there is a bug, we will fix it under a different issue). Thanks Randy for this one, I could have missed it and it is a major bug. |
|||||||||||||||||||||||||||||||||||||||
I have added another setting:
/**
*/
public static final String DISABLE_AUTO_JOIN_SESSION = "disableAutoJoinSession";
And the SingleCompsasGps sets it to true. It will cause the BATCH_INSERT isolation to be taken into account. I have tested it locally, and it seems to work. Can you please give 1.1 M3 SNAPSHOT a try and verify it as well?
Nice catch mate! Thanks.