From 7c16a902213d6c10c3cf1af395d46e10fa83da64 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Wed, 1 Dec 2021 12:13:23 +0000 Subject: [PATCH] Moved relocation code from isDataLocal() to onImportAsUnconfirmed() It's not good to be moving files around in a method that should really be read only. This also adds an intentional checkAndRelocateMiscFiles() call rather than relying on a call to isDataLocal() which may be removed at any time. --- .../repository/hsqldb/HSQLDBArbitraryRepository.java | 9 --------- .../org/qortal/transaction/ArbitraryTransaction.java | 4 ++++ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java index a604dd0e..6c2c7e1f 100644 --- a/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java +++ b/src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java @@ -64,15 +64,6 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository { return true; } - // We may need to relocate files from the "misc_" folder to the signature folder - int relocatedCount = ArbitraryTransactionUtils.checkAndRelocateMiscFiles(transactionData); - if (relocatedCount > 0) { - // Files were relocated, so check again to see if they exist in the correct place - if (arbitraryDataFile.exists() || arbitraryDataFile.allChunksExist(chunkHashes)) { - return true; - } - } - return false; } diff --git a/src/main/java/org/qortal/transaction/ArbitraryTransaction.java b/src/main/java/org/qortal/transaction/ArbitraryTransaction.java index 658dd7ea..6708c934 100644 --- a/src/main/java/org/qortal/transaction/ArbitraryTransaction.java +++ b/src/main/java/org/qortal/transaction/ArbitraryTransaction.java @@ -21,6 +21,7 @@ import org.qortal.arbitrary.ArbitraryDataFileChunk; import org.qortal.transform.TransformationException; import org.qortal.transform.transaction.ArbitraryTransactionTransformer; import org.qortal.transform.transaction.TransactionTransformer; +import org.qortal.utils.ArbitraryTransactionUtils; public class ArbitraryTransaction extends Transaction { @@ -216,6 +217,9 @@ public class ArbitraryTransaction extends Transaction { @Override protected void onImportAsUnconfirmed() throws DataException { + // We may need to move files from the misc_ folder + ArbitraryTransactionUtils.checkAndRelocateMiscFiles(arbitraryTransactionData); + // Invalidate the cache for this name if we have the data already if (arbitraryTransactionData.getName() != null) { if (isDataLocal()) {