Hi Claus,

Additionaly I can provide a part of thread dump where jackrabbit-pool-15 thread performs some parsing of PDF file:

"jackrabbit-pool-16" daemon prio=6 tid=0x000000000d660000 nid=0x9d0 runnable [0x00000000239af000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000079f0e9f90> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
    - None

"jackrabbit-pool-15" daemon prio=6 tid=0x000000000d65f800 nid=0x1354 runnable [0x00000000238ae000]
   java.lang.Thread.State: RUNNABLE
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(FileInputStream.java:220)
at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:99) at org.apache.jackrabbit.core.data.LazyFileInputStream.read(LazyFileInputStream.java:164)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
    - locked <0x0000000792866c98> (a java.io.BufferedInputStream)
    at org.apache.tika.io.ProxyInputStream.read(ProxyInputStream.java:99)
at org.apache.tika.io.CountingInputStream.read(CountingInputStream.java:76)
    at org.apache.tika.io.ProxyInputStream.read(ProxyInputStream.java:99)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
    - locked <0x0000000794dfabf8> (a java.io.BufferedInputStream)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    - locked <0x0000000794df9bc0> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:66)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:122)
at org.apache.pdfbox.io.PushBackInputStream.read(PushBackInputStream.java:84) at org.apache.pdfbox.pdfparser.BaseParser.readUntilEndStream(BaseParser.java:466) at org.apache.pdfbox.pdfparser.BaseParser.parseCOSStream(BaseParser.java:400) at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:530)
    at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:172)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:878)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:843)
    at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:74)
at org.apache.tika.parser.ParserDecorator.parse(ParserDecorator.java:91) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:197) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:137) at org.apache.jackrabbit.core.query.lucene.JackrabbitParser.parse(JackrabbitParser.java:192) at org.apache.jackrabbit.core.query.lucene.LazyTextExtractorField$ParsingTask.run(LazyTextExtractorField.java:174) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

   Locked ownable synchronizers:
- <0x00000007a7cee2e0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)


Regards,
Anton
Hi Anton,

In our case we have 400 Gb repository, the average simultaneous amount
of people using Jackrabbit is 25. And the configuration of server is the
I think with that configuration you should handle 25 users in any case :-)

Do you think it is enough, if not maybe that is one of possible reasons
why sometimes the application does not respond for long periods of time?
Hmm it's extremely hard to say what's going on in your application ...
If it hangs you could create a thread dump to analyse where your applicaion is 
waiting

greets
claus

Reply via email to