Author: michiel
Date: 2010-05-04 15:42:59 +0200 (Tue, 04 May 2010)
New Revision: 42097

Modified:
   
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManager.java
Log:
MMB-1956 plus some logging

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManager.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManager.java
      2010-05-04 13:42:02 UTC (rev 42096)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManager.java
      2010-05-04 13:42:59 UTC (rev 42097)
@@ -161,6 +161,7 @@
             if (bufferSizeAttribute != null) {
                 try {
                     bufferSize = 
Integer.valueOf(bufferSizeAttribute.toString());
+                    log.info("Found key buffer size " + bufferSize);
                 } catch (NumberFormatException nfe) {
                     // remove the SEQUENCE_BUFFER_SIZE attribute (invalid 
value)
                     factory.setAttribute(Attributes.SEQUENCE_BUFFER_SIZE, 
null);
@@ -257,6 +258,7 @@
                         log.debug("No active connection got");
                         return;
                     }
+                    log.debug("begin transaction");
                     
activeConnection.setTransactionIsolation(transactionIsolation);
                     activeConnection.setAutoCommit(false);
                 } catch (SQLException se) {
@@ -284,6 +286,7 @@
 
                 try {
                     activeConnection.commit();
+                    log.debug("committed transaction");
                 } catch (SQLException se) {
                     throw new StorageException(se);
                 } finally {
@@ -345,14 +348,14 @@
         log.debug("Creating key");
         synchronized (sequenceKeys) {
             log.debug("Acquired lock");
-            // if sequenceKeys conatins (buffered) keys, return this
+            // if sequenceKeys contains (buffered) keys, return this
             if (sequenceKeys.size() > 0) {
                 return sequenceKeys.remove(0);
             } else {
                 String query = "";
                 try {
-
                     getActiveConnection();
+                    beginTransaction();
                     Statement s;
                     Scheme scheme = factory.getScheme(Schemes.UPDATE_SEQUENCE, 
Schemes.UPDATE_SEQUENCE_DEFAULT);
                     if (scheme != null) {
@@ -377,6 +380,7 @@
                                 for (int i = 1; i < bufferSize.intValue(); 
i++) {
                                     sequenceKeys.add(keynr + i);
                                 }
+                                log.service("Created key buffer " + 
sequenceKeys);
                                 return keynr;
                             } else {
                                 throw new StorageException("The sequence table 
is empty.");
@@ -395,6 +399,7 @@
                     } catch (InterruptedException re) {}
                     throw new StorageException(se);
                 } finally {
+                    commit();
                     releaseActiveConnection();
                 }
             }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to