jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anton Bachevsky <...@ciklum.com>
Subject Re: AW: AW: Jackrabbit indexing in a separate thread
Date Mon, 27 Feb 2012 09:44:40 GMT
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


Mime
View raw message