OPA Interview Utility Library Produces Parsing Errors In A High Concurrency Environment
Last updated on DECEMBER 14, 2017
Applies to:Oracle Policy Automation - Version 10.4.7 and later
Information in this document applies to any platform.
On : 10.4.7 version, Oracle Policy Automation
OPA interview utility library produces following parsing errors in a high concurrency environment when many threads (around 100) executed together:
Issue doesn't happen in a 1 thread setting. From tracing the stack, it appears this problem occurs in the com.oracle.determinations.interview.util.StringUtils.parse method when OPA is in the process of reading the XML list to populate drop down list control options.
com.oracle.determinations.interview.engine.exceptions.InterviewEngineException: java.lang.IllegalArgumentException: Cannot parse value as a number: 1.0
This can be reproduced by writing a simple program that calls the com.oracle.determinations.interview.util.StringUtils.parse method using many threads (100 works best) together in one go with a CountDownLatch.
The following messages will be produced if 100 threads are executed but doesn't happen in a 1 thread setting:
java.lang.IllegalArgumentException: Cannot parse value as a number: 10.0
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms