You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Rafal Rusin (JIRA)" <ji...@apache.org> on 2009/07/28 19:39:14 UTC

[jira] Created: (ODE-640) Reduce inserts to LARGE_DATA in dao-hib

Reduce inserts to LARGE_DATA in dao-hib
---------------------------------------

                 Key: ODE-640
                 URL: https://issues.apache.org/jira/browse/ODE-640
             Project: ODE
          Issue Type: Improvement
          Components: BPEL Runtime
    Affects Versions: 1.3.2, 2.0
            Reporter: Rafal Rusin
            Assignee: Rafal Rusin
             Fix For: 1.3.3, 2.0


Each time assign:copy is executed in one transaction (job), there's an insert to LARGE_DATA. The goal is to have only one insert for one variable update. 

Here are details for 20 copy operation on the same variable:

for ODE-1.X:

 07-28@15:31:45 DEBUG (GeronimoLog.java:66)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
 07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
 07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
 07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting ODE MEX {MyRoleMex#65536 [Client ID:127.0.1.1-122c18fcd42-3:0] calling {urn:/HelloWorld2.wsdl}HelloService.Hello(...)}
 07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:52 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)


Here, in each copy operation Hibernate flushes dirty records to database, because of sql query for variable. 

for ODE-trunk:
 07-28@16:17:10 DEBUG (AbstractEntityPersister.java:2777)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:14 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
 07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
 07-28@16:17:15 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
 07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
 07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)

Here's somewhat better, because inserts are done after commit, but still there's to lot of them. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-640) Reduce inserts to LARGE_DATA in dao-hib

Posted by "Rafal Rusin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736209#action_12736209 ] 

Rafal Rusin commented on ODE-640:
---------------------------------

I did a patch, which removes sql query for variables - it iterates over collection instead, and reuses HLargeData objects instead of creating new ones and deleting older. This lead to following result for above example on 1.X:

 07-28@20:32:12 DEBUG (GeronimoLog.java:66)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:15 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@20:32:15 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@19f76a5...
 07-28@20:32:15 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@20:32:15 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@19f76a5...
 07-28@20:32:18 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@20:32:18 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@19f76a5...
 07-28@20:32:18 DEBUG (GeronimoLog.java:66)     - Commiting ODE MEX {MyRoleMex#65536 [Client ID:127.0.1.1-122c2a2dd4d-3:0] calling {urn:/HelloWorld2.wsdl}HelloService.Hello(...)}
 07-28@20:32:18 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:18 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:19 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@19f76a5...
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@20:32:20 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)


I tested in on practical flows and it gives about 40% reduction of LARGE_DATA inserts. 


> Reduce inserts to LARGE_DATA in dao-hib
> ---------------------------------------
>
>                 Key: ODE-640
>                 URL: https://issues.apache.org/jira/browse/ODE-640
>             Project: ODE
>          Issue Type: Improvement
>          Components: BPEL Runtime
>    Affects Versions: 1.3.2, 2.0
>            Reporter: Rafal Rusin
>            Assignee: Rafal Rusin
>             Fix For: 1.3.3, 2.0
>
>         Attachments: opt-test.diff
>
>
> Each time assign:copy is executed in one transaction (job), there's an insert to LARGE_DATA. The goal is to have only one insert for one variable update. 
> Here are details for 20 copy operation on the same variable:
> for ODE-1.X:
>  07-28@15:31:45 DEBUG (GeronimoLog.java:66)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting ODE MEX {MyRoleMex#65536 [Client ID:127.0.1.1-122c18fcd42-3:0] calling {urn:/HelloWorld2.wsdl}HelloService.Hello(...)}
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:52 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here, in each copy operation Hibernate flushes dirty records to database, because of sql query for variable. 
> for ODE-trunk:
>  07-28@16:17:10 DEBUG (AbstractEntityPersister.java:2777)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:14 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here's somewhat better, because inserts are done after commit, but still there's to lot of them. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-640) Reduce inserts to LARGE_DATA in dao-hib

Posted by "Rafal Rusin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rafal Rusin updated ODE-640:
----------------------------

    Attachment: opt-test.diff

To diagnose it, apply this patch and run
buildr _1.2.10_ test:HelloWorldJbiTest
Then look up inserts in test.log

> Reduce inserts to LARGE_DATA in dao-hib
> ---------------------------------------
>
>                 Key: ODE-640
>                 URL: https://issues.apache.org/jira/browse/ODE-640
>             Project: ODE
>          Issue Type: Improvement
>          Components: BPEL Runtime
>    Affects Versions: 1.3.2, 2.0
>            Reporter: Rafal Rusin
>            Assignee: Rafal Rusin
>             Fix For: 1.3.3, 2.0
>
>         Attachments: opt-test.diff
>
>
> Each time assign:copy is executed in one transaction (job), there's an insert to LARGE_DATA. The goal is to have only one insert for one variable update. 
> Here are details for 20 copy operation on the same variable:
> for ODE-1.X:
>  07-28@15:31:45 DEBUG (GeronimoLog.java:66)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting ODE MEX {MyRoleMex#65536 [Client ID:127.0.1.1-122c18fcd42-3:0] calling {urn:/HelloWorld2.wsdl}HelloService.Hello(...)}
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:52 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here, in each copy operation Hibernate flushes dirty records to database, because of sql query for variable. 
> for ODE-trunk:
>  07-28@16:17:10 DEBUG (AbstractEntityPersister.java:2777)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:14 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here's somewhat better, because inserts are done after commit, but still there's to lot of them. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-640) Reduce inserts to LARGE_DATA in dao-hib

Posted by "Rafal Rusin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736245#action_12736245 ] 

Rafal Rusin commented on ODE-640:
---------------------------------

For trunk, this patch gives output:
 07-28@21:42:39 DEBUG (AbstractEntityPersister.java:2777)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:43 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
 07-28@21:42:43 DEBUG (SimpleScheduler.java:170)     - Commiting...
 07-28@21:42:43 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
 07-28@21:42:43 DEBUG (SimpleScheduler.java:170)     - Commiting...
 07-28@21:42:46 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:46 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
 07-28@21:42:47 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)


> Reduce inserts to LARGE_DATA in dao-hib
> ---------------------------------------
>
>                 Key: ODE-640
>                 URL: https://issues.apache.org/jira/browse/ODE-640
>             Project: ODE
>          Issue Type: Improvement
>          Components: BPEL Runtime
>    Affects Versions: 1.3.2, 2.0
>            Reporter: Rafal Rusin
>            Assignee: Rafal Rusin
>             Fix For: 1.3.3, 2.0
>
>         Attachments: opt-test.diff
>
>
> Each time assign:copy is executed in one transaction (job), there's an insert to LARGE_DATA. The goal is to have only one insert for one variable update. 
> Here are details for 20 copy operation on the same variable:
> for ODE-1.X:
>  07-28@15:31:45 DEBUG (GeronimoLog.java:66)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting ODE MEX {MyRoleMex#65536 [Client ID:127.0.1.1-122c18fcd42-3:0] calling {urn:/HelloWorld2.wsdl}HelloService.Hello(...)}
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:52 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here, in each copy operation Hibernate flushes dirty records to database, because of sql query for variable. 
> for ODE-trunk:
>  07-28@16:17:10 DEBUG (AbstractEntityPersister.java:2777)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:14 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here's somewhat better, because inserts are done after commit, but still there's to lot of them. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (ODE-640) Reduce inserts to LARGE_DATA in dao-hib

Posted by "Rafal Rusin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rafal Rusin resolved ODE-640.
-----------------------------

    Resolution: Fixed

> Reduce inserts to LARGE_DATA in dao-hib
> ---------------------------------------
>
>                 Key: ODE-640
>                 URL: https://issues.apache.org/jira/browse/ODE-640
>             Project: ODE
>          Issue Type: Improvement
>          Components: BPEL Runtime
>    Affects Versions: 1.3.2, 2.0
>            Reporter: Rafal Rusin
>            Assignee: Rafal Rusin
>             Fix For: 1.3.3, 2.0
>
>         Attachments: opt-test.diff
>
>
> Each time assign:copy is executed in one transaction (job), there's an insert to LARGE_DATA. The goal is to have only one insert for one variable update. 
> Here are details for 20 copy operation on the same variable:
> for ODE-1.X:
>  07-28@15:31:45 DEBUG (GeronimoLog.java:66)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:49 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - Commiting ODE MEX {MyRoleMex#65536 [Client ID:127.0.1.1-122c18fcd42-3:0] calling {urn:/HelloWorld2.wsdl}HelloService.Hello(...)}
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:51 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:52 DEBUG (GeronimoLog.java:66)     - Beginning a new transaction
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:53 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:54 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:55 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - Commiting on org.apache.geronimo.transaction.manager.GeronimoTransactionManager@10b755d...
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - prepareStatement: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@15:31:56 DEBUG (GeronimoLog.java:66)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here, in each copy operation Hibernate flushes dirty records to database, because of sql query for variable. 
> for ODE-trunk:
>  07-28@16:17:10 DEBUG (AbstractEntityPersister.java:2777)     -  Insert 0: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:14 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:155)     - Beginning a new transaction
>  07-28@16:17:15 DEBUG (SimpleScheduler.java:170)     - Commiting...
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:18 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:19 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:20 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:21 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (LoggingInterceptor.java:148)     - prepareStmt: insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
>  07-28@16:17:22 DEBUG (SQLStatementLogger.java:111)     - insert into LARGE_DATA (BIN_DATA, INSERT_TIME, MLOCK, ID) values (?, ?, ?, ?)
> Here's somewhat better, because inserts are done after commit, but still there's to lot of them. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.