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 > >
