thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Duxbury <br...@rapleaf.com>
Subject Re: TThreadPool produces concurrent modification exception in a multi threaded environment.
Date Fri, 25 Nov 2011 14:43:15 GMT
You need to synchronize access to your code yourself. The Thrift server
cannot so this for you.

On Fri, Nov 25, 2011 at 1:33 AM, Sreejith S <srssreejith@gmail.com> wrote:

> Hi all,
>
> I am using thrift in a multi threaded environment.
> My thrift server can handle many client requests and produce the output as
> desired,but in some cases this error happens.
> Is there any way to over come this error.
>
> This is my stack trace.
>
> 2011-11-25 12:42:05 TThreadPoolServer [ERROR] Error occurred during
> processing of message.
> java.util.
> ConcurrentModificationException
>    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
>    at java.util.HashMap$ValueIterator.next(HashMap.java:839)
>    at
>
> gate.annotation.ImmutableAnnotationSetImpl.<init>(ImmutableAnnotationSetImpl.java:28)
>    at gate.annotation.AnnotationSetImpl.get(AnnotationSetImpl.java:272)
>    at gate.annotation.AnnotationSetImpl.get(AnnotationSetImpl.java:285)
>    at
> gate.jape.SinglePhaseTransducer.transduce(SinglePhaseTransducer.java:232)
>    at
> gate.jape.MultiPhaseTransducer.transduce(MultiPhaseTransducer.java:182)
>    at gate.jape.Batch.transduce(Batch.java:364)
>    at gate.creole.Transducer.execute(Transducer.java:148)
>    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:299)
>    at gate.creole.SerialController.runComponent(SerialController.java:222)
>    at gate.creole.SerialController.executeImpl(SerialController.java:153)
>    at
>
> gate.creole.SerialAnalyserController.executeImpl(SerialAnalyserController.java:118)
>    at gate.creole.AbstractController.execute(AbstractController.java:62)
>    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>    at
>
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176)
>    at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>    at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>    at java.lang.Thread.run(Thread.java:679)
>
> 2011-11-25 12:42:06 TThreadPoolServer [ERROR] Error occurred during
> processing of message.
> java.lang.NullPointerException
>    at
>
> gate.creole.annotdelete.AnnotationDeletePR.execute(AnnotationDeletePR.java:162)
>    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:299)
>    at gate.creole.SerialController.runComponent(SerialController.java:222)
>    at gate.creole.SerialController.executeImpl(SerialController.java:153)
>    at
>
> gate.creole.SerialAnalyserController.executeImpl(SerialAnalyserController.java:118)
>    at gate.creole.AbstractController.execute(AbstractController.java:62)
>    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>    at
>
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176)
>    at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>    at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>    at java.lang.Thread.run(Thread.java:679)
>
>
> Thank You,
>
>
> --
>
>
> *Sreejith.S*
> http://srijiths.wordpress.com/
> * *http://sreejiths.emurse.com/
>
> tweet2sree@twitter <http://tweet2Sree>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message