I have upwards of 1200 threads running at the point in time when this occurs. I make a point of closing the server instances in each XSLT transform. This system
utilizes Java callouts from XSLT to perform many of the processes that XSLT is not capable of doing. The process that is causing the blocking utilizes a custom processor which merges common message types into single objects to lessen the amount of data the
surveillance systems need to import. In this case I processed a year’s worth of data, in a single pass. This might be considered excessive but I like to stress systems in order to ferret out these types of issues. I just restarted JBoss and the same outcome
was seen. This could be beneficial in finding out where the actual problem lies. Is the SocksSocketImpl just the socket management API that BaseX uses to communicate between client and server?
From: Christian Grün [mailto:christian.gruen@gmail.com]
Sent: Tuesday, February 02, 2016 7:32 AM
To: Bondeson, Carl <Carl.Bondeson@ct.gov>
Cc: basex-talk@mailman.uni-konstanz.de
Subject: Re: [basex-talk] Multithread lock
Difficult to tell. Do you always close server instances? – Any reproducible use case would be appreciated.
On Tue, Feb 2, 2016 at 1:23 PM, Bondeson, Carl <Carl.Bondeson@ct.gov> wrote:
I have a highly multithreaded application that uses BaseX as a translation/transformation engine. It has been functioning in production for almost a year. From time to time I see the following in the nightly report the application generates which is sent from the server hosting the application. It requires a restart of JBoss, used as the application server. Any ideas?
Name: Embedded EIP BaseX Server Thread : blocked
Blocked on: java.net.SocksSocketImpl@5915a689
Blocked by: 1428 (Thread-1368)
Blocked Count: 1
Lock Info: java.net.SocksSocketImpl@5915a689
Stack Trace:
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:194)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
java.net.ServerSocket.accept(ServerSocket.java:513)
org.basex.BaseXServer.run(BaseXServer.java:142)
com.pilotfish.eip.basex.BaseXServerRunner$1.run(BaseXServerRunner.java:93)
java.lang.Thread.run(Thread.java:745)
Name: C3P0PooledConnectionPoolManager[identityToken->2szqjh9e17wbsc31kua7k9|58166f21]-HelperThread-#2 : timed_waiting
Thank you
Carl R Bondeson
Systems Developer
Department of Public Health
Data Processing
410 Capitol Ave
Hartford, CT 06134
Phone: 860-509-7434