Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.3.2, 2.0
-
None
Description
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
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.