You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2021/12/17 11:25:00 UTC

[jira] [Created] (IGNITE-16150) Get rid of redundant copying of files after downloading when restoring a snapshot.

Pavel Pereslegin created IGNITE-16150:
-----------------------------------------

             Summary: Get rid of redundant copying of files after downloading when restoring a snapshot. 
                 Key: IGNITE-16150
                 URL: https://issues.apache.org/jira/browse/IGNITE-16150
             Project: Ignite
          Issue Type: Improvement
    Affects Versions: 2.12
            Reporter: Pavel Pereslegin


During the snapshot restore procedure after retrieving the partition file from the remote node, we create an additional copy of this file.

{code:java}
	for (Map.Entry<UUID, Map<Integer, Set<Integer>>> m : snpAff.entrySet()) {
		ctx.cache().context().snapshotMgr()
			.requestRemoteSnapshotFiles(m.getKey(),
				opCtx0.snpName,
				m.getValue(),
				opCtx0.stopChecker,
				(snpFile, t) -> {
						...

						Path partFile = Paths.get(tmpCacheDir.getAbsolutePath(), snpFile.getName());

						try {
							IgniteSnapshotManager.copy(snpMgr.ioFactory(),
						...
{code}

File copying is redundant here and can have significant performance overhead.

Instead, we have to download the file to the target directory (and rename it to the desired name if necessary).




--
This message was sent by Atlassian Jira
(v8.20.1#820001)