Thank you for reporting this issue. I will create JIRA for this and provide
a fix soon.
Jerry

On Tue, Nov 13, 2018 at 5:59 AM Huy, Patrick <[email protected]> wrote:

> Hi all,
>
> when sendAndReceiveCas() of an AS Engine is Thread.interrupt()-ed it can
> happen that the ActiveMQMessageSender does not have a cacheEntry of the CAS
> that's sending the request anymore [1] for that a warning is logged.
> However directly after that the cacheEntry is deferenced leading to a NPE
> [2].
> This exception will then be swallowed by BaseMessageSender [3] and the
> process will be retried [4].
>
> This behavior is rather unfortunate.
> It would be benefitial to add a null check at [2] that the cacheEntry is
> there before accessing ist. Also at [3] instead of swallowing all
> exceptions they should be logged at debug level.
>
> I would be happy if someone could incorporate these changes.
>
> Cheers
> Patrick
>
> [1]:
> https://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/ActiveMQMessageSender.java?revision=1818052&view=markup#l317
> [2]:
> https://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/client/ActiveMQMessageSender.java?revision=1818052&view=markup#l370
> [3]:
> https://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java?revision=1820897&view=markup#l347
> [4]:
> https://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseMessageSender.java?revision=1820897&view=markup#l338
>
>

Reply via email to