You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Alex Boisvert (JIRA)" <ji...@apache.org> on 2008/12/02 01:09:44 UTC
[jira] Created: (ODE-444) Improve performance of InstanceManagement
Improve performance of InstanceManagement
-----------------------------------------
Key: ODE-444
URL: https://issues.apache.org/jira/browse/ODE-444
Project: ODE
Issue Type: Task
Components: Management Console
Reporter: Alex Boisvert
Fix For: 1.3
There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-444) Improve performance of
InstanceManagement (1.x branch)
Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12661631#action_12661631 ]
Alex Boisvert commented on ODE-444:
-----------------------------------
The trunk patch is tracked by ODE-446
> Improve performance of InstanceManagement (1.x branch)
> ------------------------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Assignee: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ODE-444) Improve performance of InstanceManagement
(1.x branch)
Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Boisvert updated ODE-444:
------------------------------
Affects Version/s: 1.2
> Improve performance of InstanceManagement (1.x branch)
> ------------------------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Assignee: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-444) Improve performance of
InstanceManagement (1.x branch)
Posted by "Piotr Jagielski (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662497#action_12662497 ]
Piotr Jagielski commented on ODE-444:
-------------------------------------
OK, missed that, thanks for reply
> Improve performance of InstanceManagement (1.x branch)
> ------------------------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Assignee: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ODE-444) Improve performance of InstanceManagement
(1.x branch)
Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Boisvert updated ODE-444:
------------------------------
Summary: Improve performance of InstanceManagement (1.x branch) (was: Improve performance of InstanceManagement)
> Improve performance of InstanceManagement (1.x branch)
> ------------------------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (ODE-444) Improve performance of
InstanceManagement
Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Boisvert resolved ODE-444.
-------------------------------
Resolution: Fixed
Fixed in Ode 1.x branch
boisvert@boog:~/svn/ode/1.1$ svn commit -m "ODE-444 Improve performance of InstanceManagement service"
Sending axis2-war/src/test/java/org/apache/ode/axis2/management/InstanceManagementTest.java
Sending bpel-api/src/main/java/org/apache/ode/bpel/pmapi/InstanceManagement.java
Sending bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
Sending bpel-dao/src/main/java/org/apache/ode/bpel/dao/CorrelationSetDAO.java
Sending bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
Sending bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
Sending bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/ActivityRecoveryTest.java
Sending dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
Sending dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HCorrelationSet.java
Sending dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
Sending dao-jpa/src/main/java/org/apache/ode/dao/jpa/CorrelationSetDAOImpl.java
Sending dao-jpa/src/main/java/org/apache/ode/dao/jpa/ProcessInstanceDAOImpl.java
Transmitting file data ............
Committed revision 722680.
> Improve performance of InstanceManagement
> -----------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Reporter: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-444) Improve performance of
InstanceManagement (1.x branch)
Posted by "Piotr Jagielski (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12661512#action_12661512 ]
Piotr Jagielski commented on ODE-444:
-------------------------------------
Is this patch going to be applied on trunk? I searched the code and found that it isn't and comments say that listInstances will be deprecated since ODE 1.3
> Improve performance of InstanceManagement (1.x branch)
> ------------------------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Assignee: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (ODE-444) Improve performance of
InstanceManagement (1.x branch)
Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Boisvert reassigned ODE-444:
---------------------------------
Assignee: Alex Boisvert
> Improve performance of InstanceManagement (1.x branch)
> ------------------------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Assignee: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-444) Improve performance of
InstanceManagement
Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652213#action_12652213 ]
Alex Boisvert commented on ODE-444:
-----------------------------------
I'm also deprecating both listAllInstances() and listAllInstancesWithLimit() and planning to remove them in 2.0 since they provide no added value over listInstancesSummary(filter, order, limit)
> Improve performance of InstanceManagement
> -----------------------------------------
>
> Key: ODE-444
> URL: https://issues.apache.org/jira/browse/ODE-444
> Project: ODE
> Issue Type: Task
> Components: Management Console
> Reporter: Alex Boisvert
> Fix For: 1.3
>
>
> There are some performance issues with the current InstanceManagement.listXXXInstances() operations, notably:
> 1) listAllInstances() is quite dangerous -- it will run into OutOfMemoryException if you have lots of instances
> 2) listAllInstancesWithLimit() is better but suffers performance-wise because it attempts to load the instance summary data, the events, the scopes and properties of the matching instances. This result is too much database activity for the common case, moreover the current implementation is horrific because it actually performs 4 joins for each instance!
> So I'm introducing listInstancesSummary(String filter, String order, int limit) that only loads the instance summary and the properties in only 3 joins (total, not per instance) to address these performance issues and making both listAllInstances() and listAllInstancesWithLimit() use this method under the cover.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.