Windows 10 在远程位置(Netapp)中循环创建和删除目录经过几次迭代后失败

Windows 10 在远程位置(Netapp)中循环创建和删除目录经过几次迭代后失败

我们的一些测试程序会创建目录,在其中写入一些文件并将其删除。在我们迁移到 Windows10(从 Windows7)后,这些测试最近开始失败

测试使用 Java 编写 - 后来测试用例缩减为小序列 * 创建目录,删除目录。 * 添加了文件创建和写入文件,以便更轻松地获取错误

出现一些错误(powershell 新手)后,使用 powershell 重新创建了错误。

我认为这可能是环境问题或 Windows10(版本 1909)的一些新问题

远程位置是 NetApp 文件管理器位置,用于公开 Windows 的 CIFS。脚本如下。错误未发生在虚拟机的本地磁盘或其他远程位置(即普通的 Windows 共享)上

#preparation  
$strRoot = $env:REMOTE_UNC_PATH 


New-Item -ItemType "directory" -Path $strRoot -Force -ErrorAction Continue

$sleepMillis = $env:SLEEP_TIME_MILLIS
$ErrorActionPreference = "Stop"

$strTestdir = "$strRoot\testdir"
$strPathFile =  "$strTestdir\sample.txt"


#actual test cases
For ($i=0; $i -lt 1000 ; $i++) {
    Write-Output "Iteration $i " 

    Write-Output "Iteration $i Create directory : $strTestdir " 
    New-Item  -ItemType "directory" -Path $strTestdir -ErrorAction Stop

    Write-Output "Iteration $i  Write a file $strPathFile  " 
    New-Item  -ItemType "file"     -Path $strPathFile -ErrorAction Stop

    Write-Output "Iteration $i  remove the file  $strPathFile  " 
    Remove-Item -Force  $strPathFile  -ErrorAction Stop

    Write-Output "Iteration $i  remove the directory $strTestdir" 
    Remove-Item -Force  -Recurse $strTestdir  -ErrorAction Stop

    Write-Output "Iteration $i Sleep for   $sleepMillis  milliseconds"
    Start-Sleep      -Milliseconds  $sleepMillis 
}

exit  $LastExitCode 

错误可能发生在任何一行

  • 目录已创建但无法创建文件
  • 文件已创建但无法删除等

上次运行的日志

    Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
d-----       23/12/2019     09:14                testdir                                                               
Iteration 4  Write a file //ies-net-cls1-data.ies.mentorg.com/iesd_data3_nb/jayandir\testdir\sample.txt  


    Directory: \\ies-net-cls1-data.ies.mentorg.com\iesd_data3_nb\jayandir\testdir


Mode                LastWriteTime         Length Name                                                                  
----                -------------         ------ ----                                                                  
-a----       23/12/2019     09:14              0 sample.txt                                                            
Iteration 4  remove the file  //ies-net-cls1-data.ies.mentorg.com/iesd_data3_nb/jayandir\testdir\sample.txt  
Iteration 4  remove the directory //ies-net-cls1-data.ies.mentorg.com/iesd_data3_nb/jayandir\testdir
Iteration 4 Sleep for   3  milliseconds
Iteration 5 
Iteration 5 Create directory : //ies-net-cls1-data.ies.mentorg.com/iesd_data3_nb/jayandir\testdir 
New-Item : An item with the specified name \\ies-net-cls1-data.ies.mentorg.com\iesd_data3_nb\jayandir\testdir already 
exists.
At C:\Users\iesdgrid\AppData\Local\Temp\jenkins8492477017526245143.ps1:19 char:6
+         New-Item  -ItemType "directory" -Path $strTestdir -ErrorActio ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceExists: (\\ies-net-cls1-...ayandir\testdir:String) [New-Item], IOException
    + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand

Build step 'Windows PowerShell' marked build as failure
New run name is '#26 - sleep 3'
Notifying upstream projects of job completion
Finished: FAILURE

机器:具有 2 个 vCPU、8G RAM 的虚拟机,操作系统:Windows 10 1909 版本远程位置:NetApp CIFS 位置

搜索后请注意:这看起来与https://stackoverflow.com/questions/52439670/files-move-file-renameto-both-fail-after-many-iterations-windows-10-definit(Files.move / file.renameTo 经过多次迭代后均失败(Windows 10))——但使用 powershell 重现

相关内容