[ 
http://issues.apache.org/jira/browse/DERBY-700?page=comments#action_12363492 ] 

Suresh Thalamati commented on DERBY-700:
----------------------------------------

After doing bit of testing realized  checking for  OverlappingFileLockException 
does not work.  This exception is reliable only   if   the same file channel 
instance  is used.,  With multiple class loaders  
I don't know  how it is possible to have a sigle  file channel object.   

On Linux  ,  one can acquire the lock on the same region  using  diferent file 
channels on the same file. 

Realated info from the java docs:
java.nio.channel.FileLock 
,On some systems, closing a channel releases all locks held by the Java virtual 
machine on the underlying file regardless of whether the locks were acquired 
via that channel or via another channel open on the same file. It is strongly 
recommended that, within a program, a unique channel be used to acquire all 
locks on any given file.



> Derby does not prevent dual boot of database from different classloaders on 
> Linux
> ---------------------------------------------------------------------------------
>
>          Key: DERBY-700
>          URL: http://issues.apache.org/jira/browse/DERBY-700
>      Project: Derby
>         Type: Bug
>   Components: Store
>     Versions: 10.1.2.1
>  Environment: ava -version
> java version "1.4.2_08"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
>     Reporter: Kathey Marsden
>  Attachments: DualBootRepro.java, DualBootRepro2.zip
>
> Derby does not prevent dual boot from two different classloaders on Linux.
> To reproduce run the  program DualBootRepro with no derby jars in your 
> classpath. The program assumes derby.jar is in 10.1.2.1/derby.jar, you can 
> change the location by changing the DERBY_LIB_DIR variable.
> On Linux the output is:
> $java -cp . DualBootRepro
> Loading derby from file:10.1.2.1/derby.jar
> 10.1.2.1/derby.jar
> Booted database in loader [EMAIL PROTECTED]
> FAIL: Booted database in 2nd loader [EMAIL PROTECTED]
> On Windows I get the expected output.
> $ java -cp . DualBootRepro
> Loading derby from file:10.1.2.1/derby.jar
> 10.1.2.1/derby.jar
> Booted database in loader [EMAIL PROTECTED]
> PASS: Expected exception for dualboot:Another instance of Derby may have 
> already booted the database D:\marsden\repro\dualboot\mydb.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to