-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Hi,
we have a problem with failing deploys in Domino 12 (running in Linux container on Rancher with QEMU on an Apple M1 chip).
I tracked down the problem to this area (ReplaceDesignTaskLocal.java in Deployment bundle):
String command = StringUtil.format("load convert -d \"{0}\" * \"{1}\"", targetDbName, templatePath.toAbsolutePath().toString()); //$NON-NLS-1$
session.sendConsoleCommand("", command); //$NON-NLS-1$
The problem is, that the "session.sendConsoleCommand" immediately returns which leads the NSFDeploymentServlet (DeploymentServlet bundle) to delete the temporary file before the ReplaceDesign command within Domino is able to pick it up:
} finally {
NSFODPUtil.deltree(cleanup);
}
Causing the following output in the notes.log:
..... Mail Conversion Utility starting
..... Mail Upgrade Failed: Unable to open design template file '/tmp/nsfdeployment68681346549841464794.data' : File does not exist
..... Mail Conversion Utility shutdown
I verified that it works when removing the cleanup in DeplyomentServlet. Sadly I do not see a sensible way to let the ReplaceDesignTaskLocal wait for the console command (ReplaceDesign) to finish. Additionally the task itself (ReplaceDesignTaskLocal) runs in a separate thread, too (DeployNSFTask):
// Then do a replace design
ReplaceDesignTaskLocal task = new ReplaceDesignTaskLocal(filePath, nsfFile, new NullProgressMonitor());
DominoThreadFactory.getExecutor().submit(task).get();
Do you have an idea to workaround that area?
Best regards
Ben