You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Tuomas Kiviaho (JIRA)" <ji...@apache.org> on 2008/08/13 15:41:52 UTC
[jira] Created: (AMQ-1883) KahaStore is unable to create lock file
when user.dir is manually changed
KahaStore is unable to create lock file when user.dir is manually changed
-------------------------------------------------------------------------
Key: AMQ-1883
URL: https://issues.apache.org/activemq/browse/AMQ-1883
Project: ActiveMQ
Issue Type: Bug
Components: Message Store
Affects Versions: 5.1.0
Environment: WinNTFileSystem
jdk 1.6_05
Reporter: Tuomas Kiviaho
I've been getting the following exception
Caused by: java.io.FileNotFoundException: activemq-data\localhost-kahastore\lock (The system cannot find the path specified)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
at org.apache.activemq.kaha.impl.KahaStore.initialize(KahaStore.java:476)
I assume that changeset 661435 <http://fisheye6.atlassian.com/changelog/activemq?cs=661435> was aimed to fix the problem following problem:
Error in directory.mkdirs is masked and can result in FileNotFoundException when creating tmp_storage directory <http://open.iona.com/issues/browse/MB-360>
I verified that there is no problem in creating the parent directories, but filesystem thinks that directory doesn't exists after it has been created succesfully. After little more digging I stumbled upon the following:
File.getAbsolutePath() is incorrect if "user.dir" is set on the command line <http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4117557>
There is some more information about using canonical form at Mule project <http://mule.mulesource.org/jira/browse/MULE-1112> and I found out that using getCanonicalFile() does indeed work.
As a patch I suggest that all file/directory related methods at IOHelper would return (canonical) File instead of String.
Other not so intrusive possibility would be to change XBeanBrokerService.
KahaStore.<init>(File, String, AtomicLong) line: 103
StoreFactory.open(File, String) line: 56
XBeanBrokerService(BrokerService).getTempDataStore() line: 1178
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (AMQ-1883) KahaStore is unable to create lock file
when user.dir is manually changed
Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQ-1883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rob Davies reassigned AMQ-1883:
-------------------------------
Assignee: Rob Davies
> KahaStore is unable to create lock file when user.dir is manually changed
> -------------------------------------------------------------------------
>
> Key: AMQ-1883
> URL: https://issues.apache.org/activemq/browse/AMQ-1883
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.1.0
> Environment: WinNTFileSystem
> jdk 1.6_05
> Reporter: Tuomas Kiviaho
> Assignee: Rob Davies
> Fix For: 5.3.0
>
>
> I've been getting the following exception
> Caused by: java.io.FileNotFoundException: activemq-data\localhost-kahastore\lock (The system cannot find the path specified)
> at java.io.RandomAccessFile.open(Native Method)
> at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
> at org.apache.activemq.kaha.impl.KahaStore.initialize(KahaStore.java:476)
> I assume that changeset 661435 <http://fisheye6.atlassian.com/changelog/activemq?cs=661435> was aimed to fix the problem following problem:
> Error in directory.mkdirs is masked and can result in FileNotFoundException when creating tmp_storage directory <http://open.iona.com/issues/browse/MB-360>
> I verified that there is no problem in creating the parent directories, but filesystem thinks that directory doesn't exists after it has been created succesfully. After little more digging I stumbled upon the following:
> File.getAbsolutePath() is incorrect if "user.dir" is set on the command line <http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4117557>
> There is some more information about using canonical form at Mule project <http://mule.mulesource.org/jira/browse/MULE-1112> and I found out that using getCanonicalFile() does indeed work.
> As a patch I suggest that all file/directory related methods at IOHelper would return (canonical) File instead of String.
> Other not so intrusive possibility would be to change XBeanBrokerService.
> KahaStore.<init>(File, String, AtomicLong) line: 103
> StoreFactory.open(File, String) line: 56
> XBeanBrokerService(BrokerService).getTempDataStore() line: 1178
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.