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 14:17:13 GMT
Thanks very much, actually i have my application in production but
with this bug as reported. i wait

2017-07-11 9:59 GMT-04:00, Jaroslaw Cwiklik <cwiklik@apache.org>:
> Hi, I am investigating this issue now. Are you having this problem in
> production or testing? The multi-client recovery is quite complicated and
> subject to race conditions. I need to first re-create the problem and work
> on a solution if this in fact is a bug. From what you sent it looks like
> there is a bug in client recovery. This may take some time to sort out.
> Will let you know what I find.
>
> Jerry
>
> On Tue, Jul 11, 2017 at 9:02 AM, nelson rivera <nelsonrivera12@gmail.com>
> wrote:
>
>> 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