Uploaded image for project: 'Railo'
  1. Railo
  2. RAILO-2754

cffile move/rename between NFS and local FS causes java.io.IOException on Linux

    Details

    • Steps to Reproduce:
      Hide

      Run:
      <cffile action="MOVE" source="/my/nfs/file1.txt" destination="/tmp/file1.txt">
      on Linux where source is a file on an NFS filesystem and destination is local

      You can do a <cffile action="COPY"...> followed by a <cffile action="DELETE" ...> to achieve the same thing and that works.

      Note that <cffile action="rename" ...> going between NFS and local also causes the same error.

      Show
      Run: <cffile action="MOVE" source="/my/nfs/file1.txt" destination="/tmp/file1.txt"> on Linux where source is a file on an NFS filesystem and destination is local You can do a <cffile action="COPY"...> followed by a <cffile action="DELETE" ...> to achieve the same thing and that works. Note that <cffile action="rename" ...> going between NFS and local also causes the same error.

      Description

      Doing <cffile action="MOVE" source="/my/nfs/file1.txt" destination="/tmp/file1.txt"> on Linux generates a java.io.IOException when the source file is on an NFS-mounted filesystem and the destination is local.

      This works OK on ACF9. We're migrating across to Railo and found this on our production servers.

      Catalina log:
      java.io.IOException: can't move file /my/nfs/file1.txt to destination resource /tmp/file1.txt
      at railo.commons.io.res.type.file.FileResource.moveTo(FileResource.java:176)
      at railo.runtime.tag.FileTag.actionMove(FileTag.java:448)
      at railo.runtime.tag.FileTag.doStartTag(FileTag.java:345)
      at inovem.test.cffile1_cfm$cf.call(/opt/inovemti/webroot/inovem/test/cffile1.cfm:9)
      at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:773)
      at railo.runtime.PageContextImpl.doInclude(PageContextImpl.java:754)
      at railo.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:36)
      at railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:19)
      at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2255)
      at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2222)
      at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:315)
      at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:29)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:724)

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                micstriit Michael Offner
                Reporter:
                henrythewasp Gary Taylor
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: