Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

There are no more files available error by copying Files #4522

Laba42 ·

I wrote a copy step for QB years ago. There you could enter a source, a destination and a copy pattern.
This step ran for years without problems.

But now in certain constelations the following error messages appear, but only with long copy operations of many small files.

20:14:36,705 ERROR - Step 'master>Comp-Copy-NFD>CopyFiles-kleine-Netz' is failed.
    java.lang.RuntimeException: java.io.IOException: Es sind keine weiteren Dateien vorhanden (In english: There are no more files available)
        at com.pmease.quickbuild.util.FileUtils.copyFile(FileUtils.java:361)
        at com.rola.quickbuild.step.copyfiles.CopyFilesStep.run(CopyFilesStep.java:214)
        at com.rola.quickbuild.step.copyfiles.CopyFilesStep$$EnhancerByCGLIB$$6ac991ae.CGLIB$run$0(<generated>)
        at com.rola.quickbuild.step.copyfiles.CopyFilesStep$$EnhancerByCGLIB$$6ac991ae$$FastClassByCGLIB$$a4543c45.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:267)
        at com.rola.quickbuild.step.copyfiles.CopyFilesStep$$EnhancerByCGLIB$$6ac991ae.run(<generated>)
        at com.pmease.quickbuild.stepsupport.Step.doExecute(Step.java:677)
        at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:577)
        at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:31)
        at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:56)
        at com.pmease.quickbuild.BuildAwareJob.execute(BuildAwareJob.java:77)
        at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:131)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
    Caused by: java.io.IOException: Es sind keine weiteren Dateien vorhanden
        at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
        at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:462)
        at java.base/java.io.File.getCanonicalPath(File.java:626)
        at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:642)
        at com.pmease.quickbuild.util.FileUtils.copyFile(FileUtils.java:359)
        ... 17 more

Since we have been updating our infrastructure for a few months, we thought that this might be the reason.

The first time this error occurred was when a file server for QB (FILE-SERVER-1) was renewed (on Windows Server 2022) where only things are copied internally. Since the copying only happens a few times a year and it is a 1-1 copy I disabled the step there and we copied the folder manually

Last Thursday another file server (FILE-SERVER-2) was renewed (InPlace update from 2012R2 to Server 2022). And then the error occurs on an other QB configuration and only when many small files are copied from FILE-SERVER-1 to FILE-SERVER-2.

I had once created a copy test configuration in QB which
a) copies 4 very large files from FILE-SERVER-1 to all QB nodes
b) copied 12000 small files from FILE-SERVER-1 to all QB nodes
this was just to check because we had performance problem with a new QB node. That works too!

After the problems of last week, I adjusted the test configuration and let copy the two options a) and b) also FILE-SERVER-1/Folder1 to FILE-SERVER-1 FILE-SERVER-1/Folder2 and then occurred with option b) the same error.

In our opinion this seems to be due to the new operating system Windows Server 2022.

Do you know anything about this Problem?

QB JAVA: 64-Bit AdoptOpenJDK 11.0.6 (Build 11.0.6+10)
also still (unsuccessfully) tested under Java 17 LTS
QB OS: Windows Server 2019 Version 1809 (Build 17763.4645)

OS of the involved computers Windows Server 2022

Georg

  • solved #2
  • replies 1
  • views 492
  • stars 0
robinshen ADMIN ·

Looks like that the copy files step is a custom plugin developed at your side. Failed copy may happen for below situations according to my experience:

  1. Files being copied is being touched by some other process
  2. Anti virus scannig steps in and interfere the copy operation

Also you may try to modify the step to call Windows "xcopy" command to do the job directly. That should be a lot faster and may give more information upon failure.