Good call, Mike. I overlooked that case. From: Mike Mills <m...@themills.id.au> Sent: Monday, January 28, 2019 7:00 PM To: McClendon, Craig <craig.mcclen...@accenture.com> Cc: Gay, Jim <g...@email.chop.edu>; hl7api-devel@lists.sourceforge.net Subject: [External] Re: [HAPI-devel] ORU Ingest Error
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<mailto: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<mailto:g...@email.chop.edu>> Sent: Monday, January 28, 2019 1:47 PM To: hl7api-devel@lists.sourceforge.net<mailto: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<mailto:g...@email.chop.edu> ● chop.edu<https://urldefense.proofpoint.com/v2/url?u=http-3A__chop.edu&d=DwMFaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=VnYhy7Qh2TPWQTwfje6NAvmntWXxxwhN_1pvCFqkOwE&m=vMqAFZ2CAExisJbYygbAiaAJOrfywZmtJ0Kmkd1k_js&s=XLuUwTpRwxZiU9ydz7-iTVDSjv0gngk_3VGuS1V-4fA&e=> [cid:image001.png@01D4B73E.1709F190] ________________________________ 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<http://www.accenture.com> _______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net<mailto:Hl7api-devel@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/hl7api-devel<https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_hl7api-2Ddevel&d=DwMFaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=VnYhy7Qh2TPWQTwfje6NAvmntWXxxwhN_1pvCFqkOwE&m=vMqAFZ2CAExisJbYygbAiaAJOrfywZmtJ0Kmkd1k_js&s=6t3K0AWCOn2d7YLHZWAHmdHuS838LP-3iyKNCeCV0e0&e=>
_______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hl7api-devel