Skip to content

Deployment fails (Domino 12 // Host: Mac OSX Mx with QEMU) #331

@boberhauser

Description

@boberhauser

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions