Re: Frontbase pessimistic locking
Re: Frontbase pessimistic locking
- Subject: Re: Frontbase pessimistic locking
- From: Chuck Hill <email@hidden>
- Date: Tue, 13 Apr 2010 10:59:23 -0700
On Apr 13, 2010, at 10:30 AM, Szántai Károly wrote:
Thanks Chuck, but I don't think that this is the problem. I'm also
using this URL.
Are you certain? Does it get logged out in the application log? That
is the only thing that I can remember that would cause:
Exception condition 380. Pessimistic locking: multiple transaction
conflict detected (deadlock).
A SELECT should not get that error if the isolation is Read Committed
(I think).
Is it possible that the row being selected had just been deleted?
Chuck
This error happens rarely (approx. every two months).
Károly
On 2010.04.13., at 18:16, Chuck Hill wrote:
Your database URL is missing the isolation and locking discipline.
It should look like this:
jdbc:FrontBase://localhost/DatabaseName/isolation=read_committed/
locking=optimistic
Chuck
On Apr 13, 2010, at 12:19 AM, Szántai Károly wrote:
Hi list!
Can somebody explain what the problem is and how to fix (or
prevent) it?
Thanks
Karoly
Exception caught, EvaluateExpression failed:
<com.webobjects.jdbcadaptor._FrontBasePlugIn$FrontbaseExpression:
"SELECT t0."NEV", t0."OID" FROM "TNET_CELCSOPORT" t0 INNER JOIN
"TNET_CIKK_CELCSOPORT" T1 ON t0."OID" = T1."OID_CELCSOPORT" INNER
JOIN "TNET_CIKK" T2 ON T1."OID_CIKK" = T2."OID" WHERE T2."OID" =
3349" withBindings: >:
Next exception:SQL State:00 subclass = " -- error code:
380 -- msg: Exception condition 380. Pessimistic locking:
multiple transaction conflict detected (deadlock).
Next exception:SQL State:40 subclass = 00 -- error code:
363 -- msg: Exception condition 363. Transaction rollback. extra
info: {CurrentComponentHierarchy = ("Main",
"hu.tactus.tnetbasecomponents.TNETKategoriaDisplayComponent",
"hu.tactus.tnetbasecomponents.TNETCikkDisplay"); user-agent =
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
"; CurrentComponent =
"hu.tactus.tnetbasecomponents.TNETCikkDisplay"; Headers =
{remote_host = "66.249.71.209"; server_software = "Apache/2.2.13
(Unix) mod_ssl/2.2.13 OpenSSL/0.9.7l DAV/2"; user-agent =
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
"; document_root = "/Library/WebServer/Documents/hce";
server_name = "www.healthcareedu.hu"; accept = "*/*"; x-
webobjects-adaptor-version = "Apache"; from =
"googlebot(at)googlebot.com"; host = "www.healthcareedu.hu";
remote_addr = "66.249.71.209"; x-webobjects-request-id =
"4bb06d990000004a00000002"; script_uri = "http://www.healthcareedu.hu/etieng/272
"; script_url = "/etieng/272"; x-webobjects-request-method =
"GET"; accept-encoding = "gzip,deflate"; if-modified-since =
"Sat, 10 Apr 2010 12:40:10 GMT"; remote_port = "65051";
script_filename = "/cgi-bin"; server_admin = "email@hidden";
server_port = "0"; connection = "close"; }; CurrentPage = "Main";
Bundles = {TACAddressLogic = "3.0.0"; ERExtensions =
"5.0.0.8934"; JavaWebObjects = "5.4.3"; ERJars = "5.0.0.8934";
ERJavaMail = "5.0.0.8934"; JavaEOAccess = "5.4.3"; TACRBAC =
"3.0.0"; TACExtensions = "3.0.1"; JavaJDBCAdaptor = "5.4.3";
FrontBasePlugIn = "5.0.0.8934"; TANMediaLibraryComponents =
"3.0.1"; TNETBaseComponents = "3.0.3"; TACEOPrototypes = "";
EtiEngSite = ""; JavaWOExtensions = "5.0.0.8934"; TANMediaLibrary
= "3.0.1"; JavaXML = "5.4.2"; TNETBase = "3.0.4"; JavaFoundation
= "5.4.3"; JavaEOControl = "5.4.2"; }; URL = "/cgi-bin/WebObjects/
etiengsite.woa/1/wa/oldalnev?kategorianev=272"; }Exception
condition 380. Pessimistic locking: multiple transaction conflict
detected (deadlock).at
com
.frontbase
.jdbc.FBJErrorMetaData.errorMessageAtIndex(FBJErrorMetaData.java:
162)
at
com
.frontbase
.jdbc.FBJErrorMetaData.getExceptionChain(FBJErrorMetaData.java:194)
at
com.frontbase.jdbc.FBJStatement.checkMetaData(FBJStatement.java:
472)
at com.frontbase.jdbc.FBJStatement.execute(FBJStatement.java:175)
at
com
.webobjects
.jdbcadaptor
.JDBCChannel
._bindInputVariablesWithBindingsAndExecute(JDBCChannel.java:272)
at
com
.webobjects
.jdbcadaptor.JDBCChannel._evaluateExpression(JDBCChannel.java:337)
at
com
.webobjects
.jdbcadaptor.JDBCChannel.evaluateExpression(JDBCChannel.java:296)
at
com
.webobjects
.jdbcadaptor.JDBCChannel.selectAttributes(JDBCChannel.java:220)
at
com
.webobjects
.eoaccess
.EODatabaseChannel
._selectWithFetchSpecificationEditingContext
(EODatabaseChannel.java:897)
at
com
.webobjects
.eoaccess
.EODatabaseChannel
.selectObjectsWithFetchSpecification(EODatabaseChannel.java:234)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._objectsWithFetchSpecificationEditingContext
(EODatabaseContext.java:3055)
at
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsWithFetchSpecification(EODatabaseContext.java:3195)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:488)
at
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4069)
at
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsForSourceGlobalID(EODatabaseContext.java:4084)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsForSourceGlobalID(EOObjectStoreCoordinator.java:634)
at
com
.webobjects
.eocontrol
.EOEditingContext.objectsForSourceGlobalID(EOEditingContext.java:
3923)
at
com
.webobjects
.eoaccess
.EODatabaseContext._fireArrayFault(EODatabaseContext.java:4245)
at
com
.webobjects
.eoaccess
.EOAccessArrayFaultHandler
.completeInitializationOfObject(EOAccessArrayFaultHandler.java:77)
at
com
.webobjects
.eocontrol
._EOCheapCopyMutableArray.willRead(_EOCheapCopyMutableArray.java:
45)
at
com
.webobjects
.eocontrol
._EOCheapCopyMutableArray
.objectEnumerator(_EOCheapCopyMutableArray.java:115)
at
hu
.tactus
.tacextensions
.TACEOAccessUtilities
.refreshEOAndRelationships(TACEOAccessUtilities.java:151)
at
hu
.tactus
.tnetbasecomponents.TNETCikkDisplay.cikk(TNETCikkDisplay.java:65)
at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor
$1.methodValue(NSKeyValueCoding.java:636)
at com.webobjects.foundation.NSKeyValueCoding
$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
at com.webobjects.foundation.NSKeyValueCoding
$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324)
at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:
1736)
at com.webobjects.foundation.NSKeyValueCoding
$Utility.valueForKey(NSKeyValueCoding.java:447)
at com.webobjects.foundation.NSKeyValueCodingAdditions
$
DefaultImplementation
.valueForKeyPath(NSKeyValueCodingAdditions.java:216)
at
com
.webobjects
.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804)
at
com
.webobjects
.appserver
._private
.WOKeyValueAssociation
.valueInComponent(WOKeyValueAssociation.java:50)
at
er
.extensions
.components
._private.ERXWOString.appendToResponse(ERXWOString.java:66)
at
com
.webobjects
.appserver
._private
.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com
.webobjects
.appserver
._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com
.webobjects
.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at
com
.webobjects
.appserver
._private
.WOComponentReference.appendToResponse(WOComponentReference.java:
135)
at
com
.webobjects
.appserver
._private
.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
er
.extensions
.components
.conditionals
.ERXWOConditional.appendChildrenToResponse(ERXWOConditional.java:
125)
at
er
.extensions
.components
.conditionals
.ERXWOConditional.appendToResponse(ERXWOConditional.java:119)
at
com
.webobjects
.appserver
._private
.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com
.webobjects
.appserver
._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com
.webobjects
.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at
com
.webobjects
.appserver
._private
.WOComponentReference.appendToResponse(WOComponentReference.java:
135)
at
com
.webobjects
.appserver
._private
.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com
.webobjects
.appserver
._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com
.webobjects
.appserver
._private
.WOComponentContent.appendToResponse(WOComponentContent.java:51)
at
com
.webobjects
.appserver
._private
.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com
.webobjects
.appserver
._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com
.webobjects
.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at
com
.webobjects
.appserver
._private
.WOComponentReference.appendToResponse(WOComponentReference.java:
135)
at
com
.webobjects
.appserver
._private
.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com
.webobjects
.appserver
._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com
.webobjects
.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at Main.appendToResponse(Main.java:50)
at
com
.webobjects
.appserver.WOComponent._appendPageToResponse(WOComponent.java:1574)
at
com
.webobjects
.appserver
.WOComponent._generateResponseInContext(WOComponent.java:1543)
at
com
.webobjects
.appserver.WOComponent.generateResponse(WOComponent.java:1538)
at
com
.webobjects
.appserver
._private
.WOActionRequestHandler
._handleRequest(WOActionRequestHandler.java:278)
at
com
.webobjects
.appserver
._private
.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:
158)
at
er
.extensions
.appserver
.ERXDirectActionRequestHandler
.handleRequest(ERXDirectActionRequestHandler.java:123)
at
com
.webobjects
.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
at
er
.extensions
.appserver
.ERXApplication.dispatchRequestImmediately(ERXApplication.java:
1737)
at
er
.extensions
.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1702)
at
com
.webobjects
.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
at
com
.webobjects
.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
at java.lang.Thread.run(Thread.java:613)
Exception condition 363. Transaction rollback.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden