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 635
- stars 0
-