[jboss-jira] [JBoss JIRA] Commented: (JBAS-3433) Canonical paths enforced inconsistently

Ralph Apel (JIRA) jira-events at jboss.com
Mon Aug 7 14:49:13 EDT 2006


    [ http://jira.jboss.com/jira/browse/JBAS-3433?page=comments#action_12340775 ] 
            
Ralph Apel commented on JBAS-3433:
----------------------------------

Running testsuite target jboss-all-config-tests against a symlinked deployment of jbossas-4.0.4 it can be observed that all invocations of MBeanServer (MBeanServerImpl) operation "getDeployment" occur with correctly canonicalized file URLs. 
At the same time, DeploymentInfo are sometimes created with not fully canonicalized URLs.
"Not Fully" canonicalized here refers to the fact that although one first level of indirection in file paths was correctly resolved even in this cases, a second symlink indirection  was not.
Detailed traces will follow as attachments.
This tests setup was as follows:
jboss.home=/usr/share/jbossas

/usr/share/jbossas/bin --> /var/lib/jbossas/bin
/usr/share/jbossas/client/ (a normal dir)
/usr/share/jbossas/docs --> /usr/share/doc/jbossas-4.0.4
/usr/share/jbossas/lib/ (a normal dir)
/usr/share/jbossas/server --> /var/lib/jbossas/server

/var/lib/jbossas/server/all/conf -> /etc/jbossas/all
/var/lib/jbossas/server/all/data/ (a normal dir)
/var/lib/jbossas/server/all/deploy/ (a normal dir)
/var/lib/jbossas/server/all/deploy-hasingleton/ (a normal dir)
/var/lib/jbossas/server/all/farm/ (a normal dir)
/var/lib/jbossas/server/all/lib/ (a normal dir)
/var/lib/jbossas/server/all/log -> /var/log/jbossas/all
/var/lib/jbossas/server/all/tmp -> /var/cache/jbossas/all/tmp
/var/lib/jbossas/server/all/work -> /var/cache/jbossas/all/work


> Canonical paths enforced inconsistently
> ---------------------------------------
>
>                 Key: JBAS-3433
>                 URL: http://jira.jboss.com/jira/browse/JBAS-3433
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Deployment services
>    Affects Versions: JBossAS-4.0.4.GA
>         Environment: Linux/Unix
>            Reporter: Ralph Apel
>         Assigned To: Dimitris Andreadis
>
> DeploymentInfo objects are created with file-URLs without previously canonicalizing the file's path.
> If the original URL wasn't canonical (e.g. with Linux/Unix symlinks involved), this discrepancy leads to failure of at least EjbUtil's resolution of ejb-link:
> The URL to be searched for among DeploymentInfos by the MBeanServer is constructed from the canonicalized path, but the DeploymentInfo which should be found has a
> non canonical file URL (i.e. without symlinks resolved).
> I have been able to provisionally solve this issue by patching EjbUtil to not invoke 
> target = Strings.toURL(ourPath); 
> (which directly or indirectly calls getCanonicalPath()) but  a particular code fragment instead.
> This kind of solution surely isn't the right one. IMO, as the DeploymentInfo.url field is used as a key to the DeploymentInfo collections, this key should be always unique, i.e. canonicalized.
> My suggestion would be to change any DeploymentInfo instantiation AND any search for DeploymentInfo instances to use canonicalized file URLs.

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

        



More information about the jboss-jira mailing list