技术文章 - CS241618
在 Windchill 中同时运行“删除未引用的文件”和“副本库的自动清理”时,实际引用的文件将被删除
已修改: 20-Feb-2022
适用于
- Windchill PDMLink 10.0 F000 to 11.0 M010
说明
- wt.fv.master.deleteUnreferencedFilesOnAutoVaultCleanup已设置为true
- 几乎同时,执行删除未引用的文件作业和自动清理副本保管库作业
- 删除未引用的文件作业失败,出现以下异常
java.lang.NullPointerException
在 wt.fv.VaultCleanupAuditLogger.writeLine(VaultCleanupAuditLogger.java:104)
在 wt.fv.ReplicaCleanUp.processUnreferencedFiles(ReplicaCleanUp.java:1630)
在 wt.fv.ReplicaCleanUp.findUnreferencedFiles(ReplicaCleanUp.java:1526)
在 wt.fv.ReplicaCleanUp.cleanUpFilesInMaster(ReplicaCleanUp.java:1380)
在 wt.fv.ReplicaCleanUp.serverSide_cleanUpRemoteFolder(ReplicaCleanUp.java:904)
在 wt.fv.ReplicaCleanUp.serverRequestor_cleanUpRemoteFolder(ReplicaCleanUp.java:718)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:535)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:502)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask.performCleanUp(RemoveUnreferencedFilesTask.java:308)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask._run(RemoveUnreferencedFilesTask.java:213)
在 com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
在 com.ptc.core.task.Task.execute(Task.java:238)
在 com.ptc.core.task.Task.executeInBackground(Task.java:397)
在 com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163)
在 sun.reflect.GeneratedMethodAccessor2603.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在 java.lang.reflect.Method.invoke(Method.java:597)
在 wt.queue.QueueEntry.execute(QueueEntry.java:232)
在 wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
在 wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
在 wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
java.lang.NullPointerException
在 wt.fv.ReplicaCleanUp.cleanUpFilesInReplicaComplete(ReplicaCleanUp.java:1306)
在 wt.fv.ReplicaCleanUp.cleanUpFilesInReplicaComplete(ReplicaCleanUp.java:1295)
在 wt.fv.ReplicaCleanUp.cleanUpFilesInMaster(ReplicaCleanUp.java:1381)
在 wt.fv.ReplicaCleanUp.serverSide_cleanUpRemoteFolder(ReplicaCleanUp.java:904)
在 wt.fv.ReplicaCleanUp.serverRequestor_cleanUpRemoteFolder(ReplicaCleanUp.java:718)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:535)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:502)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask.performCleanUp(RemoveUnreferencedFilesTask.java:308)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask._run(RemoveUnreferencedFilesTask.java:213)
在 com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
在 com.ptc.core.task.Task.execute(Task.java:238)
在 com.ptc.core.task.Task.executeInBackground(Task.java:397)
在 com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163)
在 sun.reflect.GeneratedMethodAccessor2603.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在 java.lang.reflect.Method.invoke(Method.java:597)
在 wt.queue.QueueEntry.execute(QueueEntry.java:232)
在 wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
在 wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
在 wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
wt.util.WTException: wt.util.WTException: VaultCleanerLog 未打开写入
ネステッド异常:wt.util.WTException:VaultCleanerLog 未打开以进行写入
在 wt.fv.VaultCleanupAuditLogger.writeLine(VaultCleanupAuditLogger.java:102)
在 wt.fv.ReplicaCleanUp.serverSide_cleanUpRemoteFolder(ReplicaCleanUp.java:906)
在 wt.fv.ReplicaCleanUp.serverRequestor_cleanUpRemoteFolder(ReplicaCleanUp.java:718)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:535)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:502)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask.performCleanUp(RemoveUnreferencedFilesTask.java:308)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask._run(RemoveUnreferencedFilesTask.java:213)
在 com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
在 com.ptc.core.task.Task.execute(Task.java:238)
在 com.ptc.core.task.Task.executeInBackground(Task.java:397)
在 com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163)
在 sun.reflect.GeneratedMethodAccessor2603.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在 java.lang.reflect.Method.invoke(Method.java:597)
在 wt.queue.QueueEntry.execute(QueueEntry.java:232)
在 wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
在 wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
在 wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
在 wt.fv.VaultCleanupAuditLogger.writeLine(VaultCleanupAuditLogger.java:104)
在 wt.fv.ReplicaCleanUp.processUnreferencedFiles(ReplicaCleanUp.java:1630)
在 wt.fv.ReplicaCleanUp.findUnreferencedFiles(ReplicaCleanUp.java:1526)
在 wt.fv.ReplicaCleanUp.cleanUpFilesInMaster(ReplicaCleanUp.java:1380)
在 wt.fv.ReplicaCleanUp.serverSide_cleanUpRemoteFolder(ReplicaCleanUp.java:904)
在 wt.fv.ReplicaCleanUp.serverRequestor_cleanUpRemoteFolder(ReplicaCleanUp.java:718)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:535)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:502)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask.performCleanUp(RemoveUnreferencedFilesTask.java:308)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask._run(RemoveUnreferencedFilesTask.java:213)
在 com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
在 com.ptc.core.task.Task.execute(Task.java:238)
在 com.ptc.core.task.Task.executeInBackground(Task.java:397)
在 com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163)
在 sun.reflect.GeneratedMethodAccessor2603.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在 java.lang.reflect.Method.invoke(Method.java:597)
在 wt.queue.QueueEntry.execute(QueueEntry.java:232)
在 wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
在 wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
在 wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
java.lang.NullPointerException
在 wt.fv.ReplicaCleanUp.cleanUpFilesInReplicaComplete(ReplicaCleanUp.java:1306)
在 wt.fv.ReplicaCleanUp.cleanUpFilesInReplicaComplete(ReplicaCleanUp.java:1295)
在 wt.fv.ReplicaCleanUp.cleanUpFilesInMaster(ReplicaCleanUp.java:1381)
在 wt.fv.ReplicaCleanUp.serverSide_cleanUpRemoteFolder(ReplicaCleanUp.java:904)
在 wt.fv.ReplicaCleanUp.serverRequestor_cleanUpRemoteFolder(ReplicaCleanUp.java:718)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:535)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:502)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask.performCleanUp(RemoveUnreferencedFilesTask.java:308)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask._run(RemoveUnreferencedFilesTask.java:213)
在 com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
在 com.ptc.core.task.Task.execute(Task.java:238)
在 com.ptc.core.task.Task.executeInBackground(Task.java:397)
在 com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163)
在 sun.reflect.GeneratedMethodAccessor2603.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在 java.lang.reflect.Method.invoke(Method.java:597)
在 wt.queue.QueueEntry.execute(QueueEntry.java:232)
在 wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
在 wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
在 wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
wt.util.WTException: wt.util.WTException: VaultCleanerLog 未打开写入
ネステッド异常:wt.util.WTException:VaultCleanerLog 未打开以进行写入
在 wt.fv.VaultCleanupAuditLogger.writeLine(VaultCleanupAuditLogger.java:102)
在 wt.fv.ReplicaCleanUp.serverSide_cleanUpRemoteFolder(ReplicaCleanUp.java:906)
在 wt.fv.ReplicaCleanUp.serverRequestor_cleanUpRemoteFolder(ReplicaCleanUp.java:718)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:535)
在 wt.fv.ReplicaCleanUp.cleanUpRemoteFolder(ReplicaCleanUp.java:502)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask.performCleanUp(RemoveUnreferencedFilesTask.java:308)
在 com.ptc.windchill.enterprise.replication.server.RemoveUnreferencedFilesTask._run(RemoveUnreferencedFilesTask.java:213)
在 com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
在 com.ptc.core.task.Task.execute(Task.java:238)
在 com.ptc.core.task.Task.executeInBackground(Task.java:397)
在 com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163)
在 sun.reflect.GeneratedMethodAccessor2603.invoke(未知来源)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在 java.lang.reflect.Method.invoke(Method.java:597)
在 wt.queue.QueueEntry.execute(QueueEntry.java:232)
在 wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
在 wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
在 wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
- 仍被引用的文件被删除
- 两个作业的日志混在一起
- 在 BackgroundMethodServer 中,似乎两个作业线程向同一个文件写入了一些内容:
[ RemoveUnreferencedTaskQueue.PollingThread ] wt.system.out 管理员 - 写入文件 /apl/Windchill_10.1/Windchill/tmp/ ReferencedFiles
[ AutomaticVaultCleaner.SchedulingThread ] wt.system.out 管理员 - 写入文件 /apl/Windchill_10.1/Windchill/tmp/ ReferencedFiles
[ AutomaticVaultCleaner.SchedulingThread ] wt.system.out 管理员 - 写入文件 /apl/Windchill_10.1/Windchill/tmp/ ReferencedFiles
这是文章 241618 的 PDF 版本,可能已过期。最新版本 CS241618