How frequent is this? does this come with a load or even on single
execution?
SQL in concern here is following?

DELETE FROM UM_ROLE_PERMISSION WHERE UM_ROLE_NAME=? AND UM_PERMISSION_ID =
(SELECT UM_ID FROM UM_PERMISSION WHERE UM_RESOURCE_ID = ? AND UM_ACTION = ?
AND UM_TENANT_ID=?) AND UM_TENANT_ID=? AND UM_DOMAIN_ID=(SELECT
UM_DOMAIN_ID FROM UM_DOMAIN WHERE UM_TENANT_ID=? AND UM_DOMAIN_NAME=?)



On Mon, Nov 10, 2014 at 2:55 PM, Amila Maha Arachchi <[email protected]>
wrote:

> Hi all,
>
> I have seen deadlock issues occurring during database transactions within
> our code. [1] is such a situation.
>
> What is the best way to handle such cases?
>
> Should we retry from the code where we invoked the authorisation manager
> in this case (i.e. AF code) or should the authorisation manager do the
> retry or the DatabaseUtil class should handle this?
>
> [1] https://wso2.org/jira/browse/CLOUD-310
>
> TID: [0] [SCC] [2014-10-27 06:56:21,093] ERROR
> {org.wso2.carbon.user.core.util.DatabaseUtil} - Error! Deadlock found when
> trying to get lock; try restarting transaction
> {org.wso2.carbon.user.core.util.DatabaseUtil}
>
> com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException:
> Deadlock found when trying to get lock; try restarting transaction
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
> at com.mysql.jdbc.Util.getInstance(Util.java:386)
> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1066)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)
> at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)
> at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)
> at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)
> at
> org.wso2.carbon.user.core.util.DatabaseUtil.updateDatabase(DatabaseUtil.java:542)
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.addAuthorizationForRole(JDBCAuthorizationManager.java:718)
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.authorizeRole(JDBCAuthorizationManager.java:358)
> at
> org.wso2.carbon.appfactory.stratos.services.AppFactoryResourceManagementService.authorizeAppIdRole(AppFactoryResourceManagementService.java:351)
> at
> org.wso2.carbon.appfactory.stratos.services.AppFactoryResourceManagementService.getRegistry(AppFactoryResourceManagementService.java:246)
> at
> org.wso2.carbon.appfactory.stratos.services.AppFactoryResourceManagementService.addOrUpdateResource(AppFactoryResourceManagementService.java:159)
> at
> org.wso2.carbon.appfactory.stratos.services.AppFactoryResourceManagementService.addOrUpdateResources(AppFactoryResourceManagementService.java:142)
>
>
>
> --
> *Amila Maharachchi*
> Senior Technical Lead
> WSO2, Inc.; http://wso2.com
>
> Blog: http://maharachchi.blogspot.com
> Mobile: +94719371446
>
>


-- 
/sumedha
m: +94 773017743
b :  bit.ly/sumedha
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to