ozeigermann 2004/12/10 04:52:09
Modified: src/stores/org/apache/slide/store/impl/rdbms
SQLServerRDBMSAdapter.java MySqlRDBMSAdapter.java
PostgresRDBMSAdapter.java
Log:
Added support repeat of conflicting transactions to
SQL Server and
PostgreSQL store.
Revision Changes Path
1.8 +9 -6
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/SQLServerRDBMSAdapter.java
Index: SQLServerRDBMSAdapter.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/SQLServerRDBMSAdapter.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SQLServerRDBMSAdapter.java 10 Aug 2004 10:14:16 -0000 1.7
+++ SQLServerRDBMSAdapter.java 10 Dec 2004 12:52:08 -0000 1.8
@@ -36,6 +36,7 @@
import org.apache.slide.content.NodeRevisionDescriptor;
import org.apache.slide.content.RevisionDescriptorNotFoundException;
import org.apache.slide.macro.ConflictException;
+import org.apache.slide.store.ConcurrencyConflictException;
import org.apache.slide.util.logger.Logger;
/**
@@ -61,12 +62,14 @@
switch (e.getErrorCode()) {
case 1205 : // thread was deadlock victim
getLogger().log(e.getErrorCode() + ": Deadlock resolved on "
+ uri, LOG_CHANNEL, Logger.WARNING);
- return new ServiceAccessException(service, new
ConflictException(uri));
+// return new ServiceAccessException(service, new
ConflictException(uri));
+ throw new ConcurrencyConflictException(e, uri);
case 547 : // referential integraty constaint was violated (like
in storeObject on table URI )
case 2627 : // primary key constraint violation (like in
storeContent on table VERSION_CONTENT)
getLogger().log(e.getErrorCode() + ": Low isolation conflict
for " + uri, LOG_CHANNEL, Logger.WARNING);
- return new ServiceAccessException(service, new
ConflictException(uri));
+// return new ServiceAccessException(service, new
ConflictException(uri));
+ throw new ConcurrencyConflictException(e, uri);
default :
getLogger().log(
1.12 +5 -5
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/MySqlRDBMSAdapter.java
Index: MySqlRDBMSAdapter.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/MySqlRDBMSAdapter.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- MySqlRDBMSAdapter.java 7 Dec 2004 17:03:02 -0000 1.11
+++ MySqlRDBMSAdapter.java 10 Dec 2004 12:52:08 -0000 1.12
@@ -62,8 +62,8 @@
switch (e.getErrorCode()) {
case 1213 : // thread was deadlock victim
getLogger().log(e.getErrorCode() + ": Deadlock resolved on "
+ uri, LOG_CHANNEL, Logger.WARNING);
+// return new ServiceAccessException(this, new
ConflictException(uri));
throw new ConcurrencyConflictException(e, uri);
-// throw new ServiceAccessException(this, new
ConflictException(uri));
default :
getLogger().log(
1.13 +10 -6
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/PostgresRDBMSAdapter.java
Index: PostgresRDBMSAdapter.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/PostgresRDBMSAdapter.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- PostgresRDBMSAdapter.java 5 Oct 2004 20:53:31 -0000 1.12
+++ PostgresRDBMSAdapter.java 10 Dec 2004 12:52:08 -0000 1.13
@@ -37,6 +37,7 @@
import org.apache.slide.lock.NodeLock;
import org.apache.slide.macro.ConflictException;
import org.apache.slide.security.NodePermission;
+import org.apache.slide.store.ConcurrencyConflictException;
import org.apache.slide.structure.ObjectNode;
import org.apache.slide.structure.ObjectNotFoundException;
import org.apache.slide.util.logger.Logger;
@@ -320,13 +321,16 @@
if (sqlstate.startsWith("23")) {
getLogger().log(e.getErrorCode() + ": Deadlock resolved on "
+ uri,
LOG_CHANNEL, Logger.WARNING);
- return new ServiceAccessException(service, new
ConflictException(uri));
+// return new ServiceAccessException(service, new
ConflictException(uri));
+ throw new ConcurrencyConflictException(e, uri);
+
} else if (sqlstate.startsWith("40")) {
getLogger().log(
e.getErrorCode() + ": Deadlock resolved on " + uri,
LOG_CHANNEL,
Logger.WARNING);
- return new ServiceAccessException(service, new
ConflictException(uri));
+// return new ServiceAccessException(service, new
ConflictException(uri));
+ throw new ConcurrencyConflictException(e, uri);
} else {
getLogger().log(
"SQL error "
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]