uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nelson rivera <nelsonriver...@gmail.com>
Subject Re: How know when "Session is closed" after establish connections between uima-as client and ActiveMQ?
Date Tue, 11 Jul 2017 13:02:17 GMT
analyzing more deep the issue, I have observed that after restart the
broker, the first uima-as client that is consumed (no matter which),
has a correct behavior, the instruccion to uima-as client
"BaseUIMAAsynchronousEngine_impl.connectionOpen()" return "false" and
correctly initializes the client again and process the request.

All next uima-as client to consume returns "true" to the instruccion
"BaseUIMAAsynchronousEngine_impl.connectionOpen()" and them get the error:

jul 11, 2017 8:11:52 AM
org.apache.uima.adapter.jms.client.ActiveMQMessageSender createSession
INFORMACIÓN: UIMA AS Client Failed Creating Session To Destination:
XCharsetDetector Managed By Broker: tcp://nelson-XPS-8700:61616
jul 11, 2017 8:11:52 AM
org.apache.uima.adapter.jms.client.ActiveMQMessageSender createSession
INFORMACIÓN: UIMA AS Client Connection To Destination:
XCharsetDetector Managed By Broker: tcp://nelson-XPS-8700:61616 Is
Closed
jul 11, 2017 8:11:52 AM
org.apache.uima.adapter.jms.client.ActiveMQMessageSender run
ADVERTENCIA:
org.apache.activemq.ConnectionClosedException: The connection is already closed
	at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQConnection.java:1459)
	at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(ActiveMQConnection.java:1446)
	at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:328)
	at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.createSession(ActiveMQMessageSender.java:108)
	at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.initializeProducer(ActiveMQMessageSender.java:143)
	at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.createTextMessage(ActiveMQMessageSender.java:191)
	at org.apache.uima.adapter.jms.client.BaseMessageSender.run(BaseMessageSender.java:330)
	at java.lang.Thread.run(Thread.java:748)

2017-07-11 8:50 GMT-04:00, nelson rivera <nelsonrivera12@gmail.com>:
> My client application not receive any exception in any time. I use
> both, in some uima-as client  use sendAndReceive() and in others use
> send(), each uima-as client has try-catch and none of them receive a
> exception, the following lines are printed in the console output,but
> the uima-as client is not notified and keeps waiting.
>
> 2017-07-10 16:48 GMT-04:00, Jaroslaw Cwiklik <uimaee@gmail.com>:
>> it looks like the UIMA-AS client is setup to throw an exception back to
>> the
>> application in this case. Did your application receive an exception? Are
>> you using sendAndReceive() or send()? The UIMA-AS client rejects requests
>> while a connection is down.
>>
>> Jerry
>>
>> On Mon, Jul 10, 2017 at 4:19 PM, Jaroslaw Cwiklik <cwiklik@apache.org>
>> wrote:
>>
>>> Hmm, this is a different exception from Session closed. This time it is
>>> a
>>> Connection is closed. Seems like a race condition. How many UIMA-AS
>>> clients
>>> do you have running in this process?
>>>
>>> Jerry
>>>
>>> On Mon, Jul 10, 2017 at 3:51 PM, nelson rivera
>>> <nelsonrivera12@gmail.com>
>>> wrote:
>>>
>>>> i just tested the snapshot build from
>>>> https://svn.apache.org/repos/asf/uima/uima-as/trunk, and the behavior
>>>> still are similar for many uima-as client, end in a exception, but now
>>>> show this stacktrace:
>>>>
>>>> org.apache.activemq.ConnectionClosedException: The connection is
>>>> already
>>>> closed
>>>>         at org.apache.activemq.ActiveMQConnection.checkClosed(ActiveMQC
>>>> onnection.java:1459)
>>>>         at org.apache.activemq.ActiveMQConnection.checkClosedOrFailed(A
>>>> ctiveMQConnection.java:1446)
>>>>         at org.apache.activemq.ActiveMQConnection.createSession(ActiveM
>>>> QConnection.java:328)
>>>>         at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.cre
>>>> ateSession(ActiveMQMessageSender.java:108)
>>>>         at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.ini
>>>> tializeProducer(ActiveMQMessageSender.java:143)
>>>>         at org.apache.uima.adapter.jms.client.ActiveMQMessageSender.cre
>>>> ateTextMessage(ActiveMQMessageSender.java:191)
>>>>         at org.apache.uima.adapter.jms.client.BaseMessageSender.run(Bas
>>>> eMessageSender.java:330)
>>>>         at java.lang.Thread.run(Thread.java:748)
>>>>
>>>> 2017-07-07 15:33 GMT-04:00, nelson rivera <nelsonrivera12@gmail.com>:
>>>> > Sorry for the delay, i am building the framework from the source at
>>>> > https://svn.apache.org/repos/asf/uima/uima-as/trunk, when test the
>>>> > issue, i will comment the result.
>>>> >
>>>> > 2017-07-06 10:04 GMT-04:00, Jaroslaw Cwiklik <cwiklik@apache.org>:
>>>> >> Hello, the snapshot binaries (zip + tar) are here:
>>>> >>
>>>> >> https://repository.apache.org/content/repositories/snapshots
>>>> /org/apache/uima/uima-as/2.9.1-SNAPSHOT/
>>>> >>
>>>> >> Jerry
>>>> >>
>>>> >> On Thu, Jul 6, 2017 at 8:51 AM, Jaroslaw Cwiklik
>>>> >> <cwiklik@apache.org>
>>>> >> wrote:
>>>> >>
>>>> >>> Hi, instructions how to build from source are here:
>>>> >>> https://uima.apache.org/building-uima.html
>>>> >>>
>>>> >>> It's a bit involved process so I will try to post a snapshot
of
>>>> uima-as
>>>> >>> to
>>>> >>> Apache snapshot repository and will provide you with a link
later
>>>> today.
>>>> >>>
>>>> >>> Jerry
>>>> >>>
>>>> >>> On Wed, Jul 5, 2017 at 4:32 PM, nelson rivera <
>>>> nelsonrivera12@gmail.com>
>>>> >>> wrote:
>>>> >>>
>>>> >>>> Please can you give me the url to source code with the changes,
to
>>>> >>>> test.
>>>> >>>>
>>>> >>>> 2017-07-05 16:19 GMT-04:00, Jaroslaw Cwiklik <cwiklik@apache.org>:
>>>> >>>> > Just delivered a few changes to deal with a stale Session.
Can
>>>> >>>> > you
>>>> >>>> > build
>>>> >>>> > from source and test.
>>>> >>>> > Jerry
>>>> >>>> >
>>>> >>>> > On Wed, Jul 5, 2017 at 2:21 PM, Jaroslaw Cwiklik <
>>>> cwiklik@apache.org>
>>>> >>>> > wrote:
>>>> >>>> >
>>>> >>>> >> Thanks. Will check the code and work on a fix
>>>> >>>> >>
>>>> >>>> >> Jerry
>>>> >>>> >>
>>>> >>>> >> On Wed, Jul 5, 2017 at 2:10 PM, nelson rivera <
>>>> >>>> nelsonrivera12@gmail.com>
>>>> >>>> >> wrote:
>>>> >>>> >>
>>>> >>>> >>> Here the stack trace for the error that asked
me:
>>>> >>>> >>> jul 05, 2017 2:08:50 PM
>>>> >>>> >>> org.apache.uima.adapter.jms.client.ActiveMQMessageSender
run
>>>> >>>> >>> ADVERTENCIA:
>>>> >>>> >>> javax.jms.IllegalStateException: The Session
is closed
>>>> >>>> >>>         at org.apache.activemq.ActiveMQSe
>>>> >>>> ssion.checkClosed(ActiveMQSess
>>>> >>>> >>> ion.java:771)
>>>> >>>> >>>         at org.apache.activemq.ActiveMQSe
>>>> >>>> ssion.configureMessage(ActiveM
>>>> >>>> >>> QSession.java:759)
>>>> >>>> >>>         at org.apache.activemq.ActiveMQSe
>>>> >>>> ssion.createTextMessage(Active
>>>> >>>> >>> MQSession.java:440)
>>>> >>>> >>>         at org.apache.uima.adapter.jms.cl
>>>> >>>> ient.ActiveMQMessageSender.cre
>>>> >>>> >>> ateTextMessage(ActiveMQMessageSender.java:184)
>>>> >>>> >>>         at org.apache.uima.adapter.jms.cl
>>>> >>>> ient.BaseMessageSender.run(Bas
>>>> >>>> >>> eMessageSender.java:307)
>>>> >>>> >>>         at java.lang.Thread.run(Thread.java:748)
>>>> >>>> >>>
>>>> >>>> >>> 2017-07-05 12:16 GMT-04:00, nelson rivera
>>>> >>>> >>> <nelsonrivera12@gmail.com>:
>>>> >>>> >>> > This behavior is random, not occurs always.
In the most of
>>>> >>>> >>> > the
>>>> >>>> simple
>>>> >>>> >>> > programs and simple test case tested,
after restart the
>>>> >>>> >>> > UIMA-AS
>>>> >>>> Broker
>>>> >>>> >>> > without restart service uima-as, the instruccion
to uima-as
>>>> >>>> >>> > client
>>>> >>>> >>> > "BaseUIMAAsynchronousEngine_impl.connectionOpen()"
return
>>>> "false"
>>>> >>>> and
>>>> >>>> >>> > correctly i initialize the client again.
>>>> >>>> >>> >
>>>> >>>> >>> > The incorrect behavior is most frequently
with many uima-as
>>>> >>>> >>> > client
>>>> >>>> >>> > instances. Is the case of my general application
in which i
>>>> have
>>>> >>>> many
>>>> >>>> >>> > service uima-as, and for each one creates
one instace of
>>>> uima-as
>>>> >>>> >>> > client (BaseUIMAAsynchronousEngine_impl)
and keep it alive
>>>> >>>> >>> > to
>>>> >>>> process
>>>> >>>> >>> > all requests of the service uima-as.
>>>> >>>> >>> >
>>>> >>>> >>> > Is in this scenario with many instancies
of uima-as client
>>>> >>>> >>> > (BaseUIMAAsynchronousEngine_impl) in the
same program (a
>>>> >>>> >>> > monolithic
>>>> >>>> >>> > application web in tomcat) where after
restart the UIMA-AS
>>>> Broker
>>>> >>>> >>> > without restart any service uima-as, many
uima-as client
>>>> returns
>>>> >>>> >>> > "true" to the instruccion
>>>> >>>> >>> > "BaseUIMAAsynchronousEngine_impl.connectionOpen()"
but them
>>>> throw
>>>> >>>> >>> > "javax.jms.IllegalStateException: The
Session is closed"
>>>> >>>> >>> > when proces the request.
>>>> >>>> >>> >
>>>> >>>> >>> > 2017-07-04 16:13 GMT-04:00, nelson rivera
>>>> >>>> >>> > <nelsonrivera12@gmail.com
>>>> >>>> >:
>>>> >>>> >>> >> One peculiarity is that, is a primitive
annotator implented
>>>> >>>> >>> >> in
>>>> >>>> >>> >> c++,
>>>> >>>> >>> >> but is deployed with de deployAsyncService.sh
de uima-as
>>>> >>>> >>> >> directly.
>>>> >>>> >>> >>
>>>> >>>> >>> >> 2017-07-04 14:53 GMT-04:00, nelson
rivera <
>>>> >>>> nelsonrivera12@gmail.com>:
>>>> >>>> >>> >>> In my program main, i initialize
a uimas-as client only
>>>> >>>> >>> >>> once
>>>> >>>> >>> >>> and
>>>> >>>> >>> >>> I
>>>> >>>> >>> >>> use
>>>> >>>> >>> >>> this client to consume all requests
to a displayed service
>>>> >>>> uima-as.
>>>> >>>> >>> >>>
>>>> >>>> >>> >>> Before process a request i ask
to uima-as client with:
>>>> >>>> >>> >>> BaseUIMAAsynchronousEngine_impl.connectionOpen()
>>>> >>>> >>> >>> and if the result es "false",
i stop the uima-as client
>>>> >>>> >>> >>> and
>>>> >>>> >>> >>> initialize
>>>> >>>> >>> >>> it
>>>> >>>> >>> >>> again.
>>>> >>>> >>> >>>
>>>> >>>> >>> >>> With some steps, still undefined,
but after restart the
>>>> UIMA-AS
>>>> >>>> >>> >>> Broker
>>>> >>>> >>> >>> without restart service uima-as.
>>>> >>>> >>> >>> The instruccion to uima-as client
>>>> >>>> >>> >>> BaseUIMAAsynchronousEngine_impl.connectionOpen()
return
>>>> "true",
>>>> >>>> but
>>>> >>>> >>> >>> them i get a "javax.jms.IllegalStateException:
The Session
>>>> is
>>>> >>>> >>> >>> closed"
>>>> >>>> >>> >>> when proces the request.
>>>> >>>> >>> >>>
>>>> >>>> >>> >>> Wich is the best way to know when
connections betewen
>>>> >>>> >>> >>> cliente
>>>> >>>> >>> >>> uima-as
>>>> >>>> >>> >>> and ActiveMQ is broken? and i
should restart uima-as
>>>> >>>> >>> >>> client.
>>>> >>>> >>> >>>
>>>> >>>> >>> >>
>>>> >>>> >>> >
>>>> >>>> >>>
>>>> >>>> >>
>>>> >>>> >>
>>>> >>>> >
>>>> >>>>
>>>> >>>
>>>> >>>
>>>> >>
>>>> >
>>>>
>>>
>>>
>>
>

Mime
View raw message