Hello everyone,
I am testing LSC 2.0.2 under Redhat Enterprise Linux 5.7 and JDK 1.7 and also
JDK 1.6 (both from Oracle, 64-bit).
I am syncing an Oracle database with about 600,000 entries to LDAP.
What happens is that the job always terminates with an out of memory exception
as follows:
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new
native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:691)
at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1336)
at
org.lsc.SynchronizeThreadPoolExecutor.runTask(SynchronizeThreadPoolExecutor.java:44)
at
org.lsc.AbstractSynchronize.synchronize2Ldap(AbstractSynchronize.java:333)
at org.lsc.SimpleSynchronize.launchTask(SimpleSynchronize.java:220)
at org.lsc.SimpleSynchronize.launch(SimpleSynchronize.java:157)
at org.lsc.Launcher.run(Launcher.java:224)
at org.lsc.Launcher.launch(Launcher.java:159)
at org.lsc.Launcher.main(Launcher.java:142)
I attempted to monitor the lsc process while it was running and noticed the
following:
watch -n 5 -d "ps -eL <pid> | wc -l"
The number of threads being spawned increased all the way from 108 to around
30,000 before the
lsc process crashed and threw the exception above. Increasing the memory to the
JVM via -Xmx had
no helpful effect.
Is there some way to tune the maximum number of threads that LSC uses or is
this a known issue
with large synchronizations? Thanks in advance for any advice.
Kind regards,
Ven
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org
lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users