From 9e3847e56f939169c3533337eefe21ef9d03264e Mon Sep 17 00:00:00 2001 From: CalDescent Date: Tue, 28 Dec 2021 17:00:09 +0000 Subject: [PATCH] Moved some of the less important arbitrary transaction related logs from INFO to DEBUG/TRACE. Logs can be reinstated by adding these lines to log4j2.properties: logger.arbitrary.name = org.qortal.arbitrary logger.arbitrary.level = debug logger.arbitrarycontroller.name = org.qortal.controller.arbitrary logger.arbitrarycontroller.level = debug --- .../arbitrary/ArbitraryDataBuilder.java | 2 +- .../arbitrary/ArbitraryDataCombiner.java | 4 +- .../arbitrary/ArbitraryDataCreatePatch.java | 4 +- .../qortal/arbitrary/ArbitraryDataDiff.java | 10 ++-- .../qortal/arbitrary/ArbitraryDataMerge.java | 6 +-- .../qortal/arbitrary/ArbitraryDataReader.java | 4 +- .../arbitrary/ArbitraryDataRenderer.java | 2 +- .../metadata/ArbitraryDataMetadataPatch.java | 2 +- .../ArbitraryDataCleanupManager.java | 4 +- .../ArbitraryDataFileListManager.java | 20 ++++---- .../arbitrary/ArbitraryDataFileManager.java | 46 +++++++++---------- .../arbitrary/ArbitraryDataManager.java | 8 ++-- 12 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java index f5ada3cd..4f0e3835 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataBuilder.java @@ -215,7 +215,7 @@ public class ArbitraryDataBuilder { // Loop from the second path onwards for (int i=1; i addedPaths = this.metadata.getAddedPaths(); for (Path path : addedPaths) { - LOGGER.info("File was added: {}", path.toString()); + LOGGER.trace("File was added: {}", path.toString()); Path filePath = Paths.get(this.pathAfter.toString(), path.toString()); ArbitraryDataMerge.copyPathToBaseDir(filePath, this.mergePath, path); } List modifiedPaths = this.metadata.getModifiedPaths(); for (ModifiedPath modifiedPath : modifiedPaths) { - LOGGER.info("File was modified: {}", modifiedPath.toString()); + LOGGER.trace("File was modified: {}", modifiedPath.toString()); this.applyPatch(modifiedPath); } List removedPaths = this.metadata.getRemovedPaths(); for (Path path : removedPaths) { - LOGGER.info("File was removed: {}", path.toString()); + LOGGER.trace("File was removed: {}", path.toString()); ArbitraryDataMerge.deletePathInBaseDir(this.mergePath, path); } } diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java index 9d756b0a..55431af0 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataReader.java @@ -230,7 +230,7 @@ public class ArbitraryDataReader { }); } catch (IOException e) { - LOGGER.info("Unable to delete file or directory: {}", e.getMessage()); + LOGGER.debug("Unable to delete file or directory: {}", e.getMessage()); } } } @@ -481,7 +481,7 @@ public class ArbitraryDataReader { // No need to log anything } catch (IOException e) { // This will eventually be cleaned up by a maintenance process, so log the error and continue - LOGGER.info("Unable to cleanup directories: {}", e.getMessage()); + LOGGER.debug("Unable to cleanup directories: {}", e.getMessage()); } // Finally, update filePath to point to uncompressedPath diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java index 8f0ec9ee..7db3b233 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java @@ -146,7 +146,7 @@ public class ArbitraryDataRenderer { try { FileUtils.deleteDirectory(new File(unzippedPath)); } catch (IOException ioException) { - LOGGER.info("Unable to delete directory: {}", unzippedPath, e); + LOGGER.debug("Unable to delete directory: {}", unzippedPath, e); } } } catch (IOException e) { diff --git a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java index 3322cf66..954dcb03 100644 --- a/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java +++ b/src/main/java/org/qortal/arbitrary/metadata/ArbitraryDataMetadataPatch.java @@ -123,7 +123,7 @@ public class ArbitraryDataMetadataPatch extends ArbitraryDataQortalMetadata { patch.put("modified", modifiedPaths); this.jsonString = patch.toString(2); - LOGGER.info("Patch metadata: {}", this.jsonString); + LOGGER.debug("Patch metadata: {}", this.jsonString); } public void setAddedPaths(List addedPaths) { diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java index db7d7f92..86395187 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataCleanupManager.java @@ -433,7 +433,7 @@ public class ArbitraryDataCleanupManager extends Thread { // If the directory is empty, we still need to delete its parent folder if (contentsCount == 0 && tempDir.toFile().isDirectory() && tempDir.toFile().exists()) { try { - LOGGER.info("Parent directory {} is empty, so deleting it", tempDir); + LOGGER.debug("Parent directory {} is empty, so deleting it", tempDir); FilesystemUtils.safeDeleteDirectory(tempDir, false); } catch(IOException e){ LOGGER.info("Unable to delete parent directory: {}", tempDir); @@ -519,7 +519,7 @@ public class ArbitraryDataCleanupManager extends Thread { FilesystemUtils.safeDeleteDirectory(directory.toPath(), true); return true; } catch (IOException e) { - LOGGER.info("Unable to delete directory: {}", directory); + LOGGER.debug("Unable to delete directory: {}", directory); } return false; } diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java index ef2ef72d..40ce2d9a 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java @@ -235,7 +235,7 @@ public class ArbitraryDataFileListManager { } this.addToSignatureRequests(signature58, true, false); - LOGGER.info(String.format("Sending data file list request for signature %s...", Base58.encode(signature))); + LOGGER.debug(String.format("Sending data file list request for signature %s...", Base58.encode(signature))); // Build request Message getArbitraryDataFileListMessage = new GetArbitraryDataFileListMessage(signature); @@ -289,7 +289,7 @@ public class ArbitraryDataFileListManager { } ArbitraryDataFileListMessage arbitraryDataFileListMessage = (ArbitraryDataFileListMessage) message; - LOGGER.info("Received hash list from peer {} with {} hashes", peer, arbitraryDataFileListMessage.getHashes().size()); + LOGGER.debug("Received hash list from peer {} with {} hashes", peer, arbitraryDataFileListMessage.getHashes().size()); // Do we have a pending request for this data? // TODO: might we want to relay all of them anyway? Triple request = arbitraryDataFileListRequests.get(message.getId()); @@ -327,7 +327,7 @@ public class ArbitraryDataFileListManager { // // Check all hashes exist // for (byte[] hash : hashes) { -// //LOGGER.info("Received hash {}", Base58.encode(hash)); +// //LOGGER.debug("Received hash {}", Base58.encode(hash)); // if (!arbitraryDataFile.containsChunk(hash)) { // // Check the hash against the complete file // if (!Arrays.equals(arbitraryDataFile.getHash(), hash)) { @@ -366,7 +366,7 @@ public class ArbitraryDataFileListManager { } // Forward to requesting peer - LOGGER.info("Forwarding file list with {} hashes to requesting peer: {}", hashes.size(), requestingPeer); + LOGGER.debug("Forwarding file list with {} hashes to requesting peer: {}", hashes.size(), requestingPeer); if (!requestingPeer.sendMessage(arbitraryDataFileListMessage)) { requestingPeer.disconnect("failed to forward arbitrary data file list"); } @@ -394,7 +394,7 @@ public class ArbitraryDataFileListManager { return; } - LOGGER.info("Received hash list request from peer {} for signature {}", peer, Base58.encode(signature)); + LOGGER.debug("Received hash list request from peer {} for signature {}", peer, Base58.encode(signature)); List hashes = new ArrayList<>(); ArbitraryTransactionData transactionData = null; @@ -424,9 +424,9 @@ public class ArbitraryDataFileListManager { for (ArbitraryDataFileChunk chunk : arbitraryDataFile.getChunks()) { if (chunk.exists()) { hashes.add(chunk.getHash()); - //LOGGER.info("Added hash {}", chunk.getHash58()); + //LOGGER.trace("Added hash {}", chunk.getHash58()); } else { - LOGGER.info("Couldn't add hash {} because it doesn't exist", chunk.getHash58()); + LOGGER.debug("Couldn't add hash {} because it doesn't exist", chunk.getHash58()); } } } else { @@ -452,17 +452,17 @@ public class ArbitraryDataFileListManager { ArbitraryDataFileListMessage arbitraryDataFileListMessage = new ArbitraryDataFileListMessage(signature, hashes); arbitraryDataFileListMessage.setId(message.getId()); if (!peer.sendMessage(arbitraryDataFileListMessage)) { - LOGGER.info("Couldn't send list of hashes"); + LOGGER.debug("Couldn't send list of hashes"); peer.disconnect("failed to send list of hashes"); } - LOGGER.info("Sent list of hashes (count: {})", hashes.size()); + LOGGER.debug("Sent list of hashes (count: {})", hashes.size()); } else { boolean isBlocked = (transactionData == null || ArbitraryDataStorageManager.getInstance().isNameBlocked(transactionData.getName())); if (Settings.getInstance().isRelayModeEnabled() && !isBlocked) { // In relay mode - so ask our other peers if they have it - LOGGER.info("Rebroadcasted hash list request from peer {} for signature {} to our other peers", peer, Base58.encode(signature)); + LOGGER.debug("Rebroadcasted hash list request from peer {} for signature {} to our other peers", peer, Base58.encode(signature)); Network.getInstance().broadcast( broadcastPeer -> broadcastPeer == peer || Objects.equals(broadcastPeer.getPeerData().getAddress().getHost(), peer.getPeerData().getAddress().getHost()) diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java index 632ed962..5d298c92 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java @@ -118,15 +118,15 @@ public class ArbitraryDataFileManager { if (!arbitraryDataFileRequests.containsKey(Base58.encode(hash))) { ArbitraryDataFileMessage receivedArbitraryDataFileMessage = fetchArbitraryDataFile(peer, null, signature, hash, null); if (receivedArbitraryDataFileMessage != null) { - LOGGER.info("Received data file {} from peer {}", receivedArbitraryDataFileMessage.getArbitraryDataFile().getHash58(), peer); + LOGGER.debug("Received data file {} from peer {}", receivedArbitraryDataFileMessage.getArbitraryDataFile().getHash58(), peer); receivedAtLeastOneFile = true; } else { - LOGGER.info("Peer {} didn't respond with data file {} for signature {}", peer, Base58.encode(hash), Base58.encode(signature)); + LOGGER.debug("Peer {} didn't respond with data file {} for signature {}", peer, Base58.encode(hash), Base58.encode(signature)); } } else { - LOGGER.info("Already requesting data file {} for signature {}", arbitraryDataFile, Base58.encode(signature)); + LOGGER.debug("Already requesting data file {} for signature {}", arbitraryDataFile, Base58.encode(signature)); } } } @@ -134,7 +134,7 @@ public class ArbitraryDataFileManager { if (receivedAtLeastOneFile) { // Update our lookup table to indicate that this peer holds data for this signature String peerAddress = peer.getPeerData().getAddress().toString(); - LOGGER.info("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); + LOGGER.debug("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); ArbitraryPeerData arbitraryPeerData = new ArbitraryPeerData(signature, peer); repository.discardChanges(); repository.getArbitraryRepository().save(arbitraryPeerData); @@ -171,7 +171,7 @@ public class ArbitraryDataFileManager { // Fetch the file if it doesn't exist locally if (!fileAlreadyExists) { String hash58 = Base58.encode(hash); - LOGGER.info(String.format("Fetching data file %.8s from peer %s", hash58, peer)); + LOGGER.debug(String.format("Fetching data file %.8s from peer %s", hash58, peer)); arbitraryDataFileRequests.put(hash58, NTP.getTime()); Message getArbitraryDataFileMessage = new GetArbitraryDataFileMessage(signature, hash); @@ -196,7 +196,7 @@ public class ArbitraryDataFileManager { if (isRelayRequest) { if (!fileAlreadyExists) { // File didn't exist locally before the request, and it's a forwarding request, so delete it - LOGGER.info("Deleting file {} because it was needed for forwarding only", Base58.encode(hash)); + LOGGER.debug("Deleting file {} because it was needed for forwarding only", Base58.encode(hash)); ArbitraryDataFile dataFile = arbitraryDataFileMessage.getArbitraryDataFile(); dataFile.delete(); } @@ -217,17 +217,17 @@ public class ArbitraryDataFileManager { return; } - LOGGER.info("Received arbitrary data file - forwarding is needed"); + LOGGER.debug("Received arbitrary data file - forwarding is needed"); // The ID needs to match that of the original request message.setId(originalMessage.getId()); if (!requestingPeer.sendMessage(message)) { - LOGGER.info("Failed to forward arbitrary data file to peer {}", requestingPeer); + LOGGER.debug("Failed to forward arbitrary data file to peer {}", requestingPeer); requestingPeer.disconnect("failed to forward arbitrary data file"); } else { - LOGGER.info("Forwarded arbitrary data file to peer {}", requestingPeer); + LOGGER.debug("Forwarded arbitrary data file to peer {}", requestingPeer); } } @@ -243,11 +243,11 @@ public class ArbitraryDataFileManager { List peers = repository.getArbitraryRepository().getArbitraryPeerDataForSignature(signature); if (peers == null || peers.isEmpty()) { - LOGGER.info("No peers found for signature {}", signature58); + LOGGER.debug("No peers found for signature {}", signature58); return false; } - LOGGER.info("Attempting a direct peer connection for signature {}...", signature58); + LOGGER.debug("Attempting a direct peer connection for signature {}...", signature58); // Peers found, so pick a random one and request data from it int index = new SecureRandom().nextInt(peers.size()); @@ -256,7 +256,7 @@ public class ArbitraryDataFileManager { return Network.getInstance().requestDataFromPeer(peerAddressString, signature); } catch (DataException e) { - LOGGER.info("Unable to fetch peer list from repository"); + LOGGER.debug("Unable to fetch peer list from repository"); } return false; @@ -277,43 +277,43 @@ public class ArbitraryDataFileManager { byte[] signature = getArbitraryDataFileMessage.getSignature(); Controller.getInstance().stats.getArbitraryDataFileMessageStats.requests.incrementAndGet(); - LOGGER.info("Received GetArbitraryDataFileMessage from peer {} for hash {}", peer, Base58.encode(hash)); + LOGGER.debug("Received GetArbitraryDataFileMessage from peer {} for hash {}", peer, Base58.encode(hash)); try { ArbitraryDataFile arbitraryDataFile = ArbitraryDataFile.fromHash(hash, signature); Triple relayInfo = this.arbitraryRelayMap.get(hash58); if (arbitraryDataFile.exists()) { - LOGGER.info("Hash {} exists", hash58); + LOGGER.trace("Hash {} exists", hash58); // We can serve the file directly as we already have it ArbitraryDataFileMessage arbitraryDataFileMessage = new ArbitraryDataFileMessage(signature, arbitraryDataFile); arbitraryDataFileMessage.setId(message.getId()); if (!peer.sendMessage(arbitraryDataFileMessage)) { - LOGGER.info("Couldn't sent file"); + LOGGER.debug("Couldn't sent file"); peer.disconnect("failed to send file"); } - LOGGER.info("Sent file {}", arbitraryDataFile); + LOGGER.debug("Sent file {}", arbitraryDataFile); } else if (relayInfo != null) { - LOGGER.info("We have relay info for hash {}", Base58.encode(hash)); + LOGGER.debug("We have relay info for hash {}", Base58.encode(hash)); // We need to ask this peer for the file Peer peerToAsk = relayInfo.getB(); if (peerToAsk != null) { // Forward the message to this peer - LOGGER.info("Asking peer {} for hash {}", peerToAsk, hash58); + LOGGER.debug("Asking peer {} for hash {}", peerToAsk, hash58); this.fetchArbitraryDataFile(peerToAsk, peer, signature, hash, message); // Remove from the map regardless of outcome, as the relay attempt is now considered complete arbitraryRelayMap.remove(hash58); } else { - LOGGER.info("Peer {} not found in relay info", peer); + LOGGER.debug("Peer {} not found in relay info", peer); } } else { - LOGGER.info("Hash {} doesn't exist and we don't have relay info", hash58); + LOGGER.debug("Hash {} doesn't exist and we don't have relay info", hash58); // We don't have this file Controller.getInstance().stats.getArbitraryDataFileMessageStats.unknownFiles.getAndIncrement(); @@ -326,16 +326,16 @@ public class ArbitraryDataFileManager { Message fileUnknownMessage = new BlockSummariesMessage(Collections.emptyList()); fileUnknownMessage.setId(message.getId()); if (!peer.sendMessage(fileUnknownMessage)) { - LOGGER.info("Couldn't sent file-unknown response"); + LOGGER.debug("Couldn't sent file-unknown response"); peer.disconnect("failed to send file-unknown response"); } else { - LOGGER.info("Sent file-unknown response for file {}", arbitraryDataFile); + LOGGER.debug("Sent file-unknown response for file {}", arbitraryDataFile); } } } catch (DataException e) { - LOGGER.info("Unable to handle request for arbitrary data file: {}", hash58); + LOGGER.debug("Unable to handle request for arbitrary data file: {}", hash58); } } diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java index c43adeef..8aa039e6 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java @@ -152,7 +152,7 @@ public class ArbitraryDataManager extends Thread { // Any arbitrary transactions we want to fetch data for? try (final Repository repository = RepositoryManager.getRepository()) { List signatures = repository.getTransactionRepository().getSignaturesMatchingCriteria(null, null, null, ARBITRARY_TX_TYPE, null, name, null, ConfirmationStatus.BOTH, limit, offset, true); - // LOGGER.info("Found {} arbitrary transactions at offset: {}, limit: {}", signatures.size(), offset, limit); + // LOGGER.trace("Found {} arbitrary transactions at offset: {}, limit: {}", signatures.size(), offset, limit); if (signatures == null || signatures.isEmpty()) { offset = 0; break; @@ -367,7 +367,7 @@ public class ArbitraryDataManager extends Thread { return; } - LOGGER.info("Received arbitrary signature list from peer {}", peer); + LOGGER.debug("Received arbitrary signature list from peer {}", peer); ArbitrarySignaturesMessage arbitrarySignaturesMessage = (ArbitrarySignaturesMessage) message; List signatures = arbitrarySignaturesMessage.getSignatures(); @@ -392,7 +392,7 @@ public class ArbitraryDataManager extends Thread { if (existingEntry == null) { // We haven't got a record of this mapping yet, so add it - LOGGER.info("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); + LOGGER.debug("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); ArbitraryPeerData arbitraryPeerData = new ArbitraryPeerData(signature, peer); repository.getArbitraryRepository().save(arbitraryPeerData); repository.saveChanges(); @@ -405,7 +405,7 @@ public class ArbitraryDataManager extends Thread { // If at least one signature in this batch was new to us, we should rebroadcast the message to the // network in case some peers haven't received it yet if (containsNewEntry) { - LOGGER.info("Rebroadcasting arbitrary signature list for peer {}", peerAddress); + LOGGER.debug("Rebroadcasting arbitrary signature list for peer {}", peerAddress); Network.getInstance().broadcast(broadcastPeer -> broadcastPeer == peer ? null : arbitrarySignaturesMessage); } else { // Don't rebroadcast as otherwise we could get into a loop