[ 
https://issues.apache.org/jira/browse/KARAF-689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jamie goodyear updated KARAF-689:
---------------------------------

    Fix Version/s: 3.0.0
                   2.2.2
                   2.1.6

> Karaf instance can wrongly obtain a lock when the locking table is empty on a 
> Oracle DB
> ---------------------------------------------------------------------------------------
>
>                 Key: KARAF-689
>                 URL: https://issues.apache.org/jira/browse/KARAF-689
>             Project: Karaf
>          Issue Type: Bug
>          Components: runtime
>    Affects Versions: 2.1.3
>         Environment: Oracle Database 11g Enterprise Edition Release 
> 11.2.0.2.0 - 64bit Production
>            Reporter: Ton Swieb
>            Assignee: Jamie goodyear
>             Fix For: 2.1.6, 2.2.2, 3.0.0
>
>         Attachments: patch.txt
>
>
> When running Karaf in Master/Slave mode a Karaf instance can wrongly obtain a 
> lock when the locking table is empty on a Oracle DB.
> Karaf creates a lock table and a lock record in de OracleDB upon first usage. 
> When the lock record is removed afterwards without dropping the table then 
> the locking mechanisme does not work anymore and any instance can wrongly 
> obtain a lock.
> This is not an issue for other database systems, because the implementation 
> for other DB systems periodically tries to update the lock record and verify 
> how many records are updated. According to the documentation in the code the 
> "update" functionality has been removed for Oracle because it can exhaust the 
> Oracle UNDO log.
> I created a patch which does not use the "update" functionality, but executes 
> an extra check after we acquired the lock. It checks if the SELECT FOR UPDATE 
> used for the lock has not been executed on an empty selection, because when 
> the selection is empty then the locking functionality will not work as 
> expected.
> Can you apply this patch to the branches karaf-2.1.x and karaf-2.2.x and the 
> trunk. I looked at the SVN history of the files I have modified and noticed 
> that they are the same in both branches and the trunk.
> The patch has been created against the karaf-2.1.x branch.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to