Error Stack – Diagnostic Logs
[2016-02-18T19:30:29.178+13:00] [WLS_SOA] [ERROR] []
[oracle.integration.platform.testfwk.TestCase] [tid: [ACTIVE].ExecuteThread:
'11' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic]
[ecid: 064cc781-aa3b-422b-a18f-17c20736a490-00019feb,0] [APP: soa-infra] Timeout reached in runTestCases for test run
id=eca9be9df2969377:19f32968:152e9ec74d6:-7ff3
[2016-02-18T19:30:29.239+13:00] [WLS_SOA] [NOTIFICATION] []
[oracle.integration.platform.testfwk.TestCase] [tid: [ACTIVE].ExecuteThread:
'11' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic]
[ecid: 064cc781-aa3b-422b-a18f-17c20736a490-00019feb,0] [APP: soa-infra] Rollup
has mismatch in test and results wire actions, missing tests 2 for test name = Test.xml
Suite = TestSuite Run name = antRun-TestFwk Run id =
eca9be9df2969377:19f32968:152e9ec74d6:-7ff3
[2016-02-18T19:30:29.269+13:00] [WLS_SOA] [ERROR] []
[oracle.soa.bpel.system] [tid: [ACTIVE].ExecuteThread: '11' for queue:
'weblogic.kernel.Default (self-tuning)']
[userId: weblogic] [ecid: 064cc781-aa3b-422b-a18f-17c20736a490-00019feb,0]
[APP:
soa-infra] [[
oracle.integration.platform.testfwk.execution.TestRunTimeoutException:
The test run has timed out. Some tests did not complete in the allocated time.
at
oracle.integration.platform.testfwk.execution.TestFwkService.runTestCases(TestFwkService.java:718)
at
oracle.soa.management.internal.ejb.impl.SOATestBeanImpl.executeTestCases(SOATestBeanImpl.java:130)
at
oracle.soa.management.internal.ejb.impl.SOATestBean_ra84ps_SOATestBeanImpl.__WL_invoke(Unknown
Source)
at
weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)
at
oracle.soa.management.internal.ejb.impl.SOATestBean_ra84ps_SOATestBeanImpl.executeTestCases(Unknown
Source)
at
oracle.soa.management.internal.ejb.impl.SOATestBean_ra84ps_SOATestBeanImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:701)
at
weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:231)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:527)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:523)
at
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at
weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at
weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
]]
Platform
Oracle SOA
Platform - Version 11.1.1.1.0 and higher
Issue Faced
ACTUAL BEHAVIOR
---------------
When using "Unit test", run does not show completed in Enterprise Manager until the timeout is reached, even if the actual test case completes much faster.
EXPECTED BEHAVIOR
-----------------------
The Enterprise Manager console shows the task completed as soon as the composites have completed
STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Create an echo dummy project (sync) with test suite
2. Deploy and, on enterprise manager run the test suite
3. The console takes much more time to update than the actual composite does.
Cause
Case 1: SOA environment Issue as per Document (Doc ID 1555494.1)
A delay
occurs when testing a composite using Enterprise Manager or using ant -f
ant-sca-test
The delay occurs because of the delay time property that is set to confirm that all components of the composite are completed. The delay time property is called completionDelay and the default value is 30 sec.
The delay occurs because of the delay time property that is set to confirm that all components of the composite are completed. The delay time property is called completionDelay and the default value is 30 sec.
Case 2: Real-time Issue Faced by us
·
There are multiple copies with same name as
Test.xml in TestSuites folder of SOA composite/MDS.
·
Test.xml has emulates which are not being used
in the test flow.
In order to modify this property, completionDelay, you
have 2 different approaches
Solution
Case 1
Option 1
The completionDelay property from fabric-config-bpel.xml can be manually modified.
For example:
From:
<property name="completionDelay">
<value>30000</value>
</property>
<value>30000</value>
</property>
To:
<property name="completionDelay">
<value>1000</value>
</property>
<value>1000</value>
</property>
For better results when testing you might also need to
modify the pollInterval property located on the same file, this property check
for status by polling every X millisecond and it's defined like
<property name="pollInterval">
<value>10000</value>
</property>
<value>10000</value>
</property>
The default value is 10 seconds (10000). You can update it to 1000.
In order to modify completionDelay in fabric-config-bpel.xml you will need to
1.
Stop WLS
2.
Under WLS base directory, search for
fabric-config-bpel.xml
For example: [WLS base dir]/user_projects/domains/<yourDomain>/servers/<soaServer>/tmp/_WL_user/soa-infra/<temp folder name>/war/WEB-INF/fabric-config-bpel.xml
For example: [WLS base dir]/user_projects/domains/<yourDomain>/servers/<soaServer>/tmp/_WL_user/soa-infra/<temp folder name>/war/WEB-INF/fabric-config-bpel.xml
[Note: Please search
fabric-config-bpel.xml inside / user_projects/domains/<yourDomain>/servers/<soaServer>/tmp/_WL_user/soa-infra
as <temp folder name> is different in different environments]
3.
Backup and modify fabric-config-bpel.xml
4.
Start WLS
Option 2
Another option is to use a BPEL with a Java Embedding
activity to programmatically modify the completionDelay property.
<sequence name="main">
<!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->
<receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>
<extensionActivity>
<bpelx:exec name="Java_Embedding1" language="java">
<![CDATA[
/*Write your java code below e.g. System.out.println("Hello, World");*/
long completionDelay = 1000;
System.out.println("completionDelay set to: " + completionDelay);
oracle.integration.platform.testfwk.execution.TestFwkService.getService().setCompletionDelay(completionDelay);
]]>
</bpelx:exec>
</extensionActivity>
<assign name="echo">
<copy>
<from>$inputVariable.payload/client:input</from>
<to>$outputVariable.payload/client:result</to>
</copy>
</assign>
<!-- Generate reply to synchronous request -->
<reply name="replyOutput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="outputVariable"/>
</sequence>
<!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->
<receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>
<extensionActivity>
<bpelx:exec name="Java_Embedding1" language="java">
<![CDATA[
/*Write your java code below e.g. System.out.println("Hello, World");*/
long completionDelay = 1000;
System.out.println("completionDelay set to: " + completionDelay);
oracle.integration.platform.testfwk.execution.TestFwkService.getService().setCompletionDelay(completionDelay);
]]>
</bpelx:exec>
</extensionActivity>
<assign name="echo">
<copy>
<from>$inputVariable.payload/client:input</from>
<to>$outputVariable.payload/client:result</to>
</copy>
</assign>
<!-- Generate reply to synchronous request -->
<reply name="replyOutput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="outputVariable"/>
</sequence>
Note: If the BPEL Java Embedding activity is used
to modify the completionDelay property
1.
We recommend executing the code only once
2.
Using this option will not modify
fabric-config-bpel.xml so the call should be made at least once after WLS
restart
Case 2
·
If Case 1 changes have been implemented using
any Option 1 or 2, follow below steps
·
Rename the test suite files with different names
for different flows
·
Remove all unwanted emulates from the Test.xml
·
Re-deploy the Composite with updated Test Suite.
No comments:
Post a Comment