Craig, Jim,

The simplest way you could get an Index out of bounds is most likely due to
the *theDefinitionPath *variable being empty (ie get element 0-1=-1). I
would doubt that this is a concurrency issue.

I have encountered several issues with Hapi not keeping track of the
underlying field indices. I have particular issues with optional repeating
segments which can appear out of nowhere due to an index being created when
you use .toString() on a Hapi Message object.

If you can identify which field is the possible culprit then cross
reference the spec with that field and see if your input data is missing a
required field.

-Mike



On Tue, 29 Jan 2019 at 10:42, McClendon, Craig <
craig.mcclen...@accenture.com> wrote:

> Looking at your stacktrace, and lightly looking into the HAPI code, my
> first guess is this looks like a concurrency issue of some sort.
>
>
>
> The method in the HAPI code throwing this exception is this:
>
> *    private Position getTail(List<Position> theDefinitionPath) {*
>
> *        return theDefinitionPath.get(theDefinitionPath.size() - 1);*
>
> *    }*
>
>
>
> In a single-threaded application, that call should always be safe, but in
> this case it is throwing an ArrayIndexOutOfBoundsException, indicating the
> size of the list is being changed elsewhere (like in another thread).
>
>
>
> I don’t know the HAPI codebase very well, so it’s tough to say if/how that
> should be possible.
>
>
>
> Here is semi-blind a guess though:
>
>
>
> From the stacktrace line here:
>
> *at ca.uhn.hl7v2.app.Responder.processMessage(Responder.java:91)*
>
>
>
> This is the method signature:
>
> *                /***
>
> *                * Processes an incoming message string and returns the
> response message*
>
> *                * string. Message processing consists of parsing the
> message, finding an*
>
> *                * appropriate Application and processing the message with
> it, and encoding*
>
> *                * the response. Applications are chosen from among those
> registered using*
>
> *                * <code>registerApplication</code>. The Parser is
> obtained from the*
>
> *                * Connection associated with this Responder.*
>
> *                */*
>
> *                protected String processMessage(String
> incomingMessageString)*
>
> *                                                throws HL7Exception {*
>
>
>
> It indicates message processors are chosen from the list of those
> registered with “registerApplication”.
>
> I do not know how that registration occurs, but is it possible that
> multiple applications have been registered ?
>
> Or that something has been instantiated multiple times somewhere?
>
>
>
>
>
>
>
> *From:* Gay, Jim <g...@email.chop.edu>
> *Sent:* Monday, January 28, 2019 1:47 PM
> *To:* hl7api-devel@lists.sourceforge.net
> *Subject:* [External] [HAPI-devel] ORU Ingest Error
>
>
>
> All,
>
>
>
> We are having an issue where our stream of ORU data suddenly stops
> receiving data.
>
>
>
> Console error message:
>
> An exception occurred during the execution of the HapiMessageSupplier
> operator. Processing element number 9 is terminating
>
>
>
> The error log is attached to the email.
>
>
>
> If anyone has any ideas I would love to hear from you.
>
> Also, if anyone is using the ADT or ORU ingest and would like to share
> thoughts and ideas feel free to reach out.
>
>
>
> Thanks!
>
>
>
> Jim Gay
>
> Enterprise Analytics & Reporting
> 3401 Civic Center Blvd.
>
> Philadelphia, PA 19104
>
> 267-426-1958
>
> g...@email.chop.edu ● chop.edu
>
>
>
>
>
> ------------------------------
>
> This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise confidential information. If you have
> received it in error, please notify the sender immediately and delete the
> original. Any other use of the e-mail by you is prohibited. Where allowed
> by local law, electronic communications with Accenture and its affiliates,
> including e-mail and instant messaging (including content), may be scanned
> by our systems for the purposes of information security and assessment of
> internal compliance with Accenture policy. Your privacy is important to us.
> Accenture uses your personal data only in compliance with data protection
> laws. For further information on how Accenture processes your personal
> data, please see our privacy statement at
> https://www.accenture.com/us-en/privacy-policy.
>
> ______________________________________________________________________________________
>
> www.accenture.com
> _______________________________________________
> Hl7api-devel mailing list
> Hl7api-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/hl7api-devel
>
_______________________________________________
Hl7api-devel mailing list
Hl7api-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hl7api-devel

Reply via email to