Browse Source

Added more granularity to logging, to differentiate between signature validation and general processing/importing, as well as showing counts of the transactions being processed in each round.

name-fixes
CalDescent 3 years ago
parent
commit
7c181379b4
  1. 12
      src/main/java/org/qortal/controller/Controller.java

12
src/main/java/org/qortal/controller/Controller.java

@ -855,7 +855,9 @@ public class Controller extends Thread {
// Take a snapshot of incomingTransactions, so we don't need to lock it while processing
Map<TransactionData, Boolean> incomingTransactionsCopy = Map.copyOf(this.incomingTransactions);
LOGGER.debug("Processing incoming transactions queue (size {})...", incomingTransactionsCopy.size());
int unvalidatedCount = Collections.frequency(incomingTransactionsCopy.values(), Boolean.FALSE);
int validatedCount = 0;
LOGGER.debug("Validating signatures in incoming transactions queue (size {})...", unvalidatedCount);
List<Transaction> sigValidTransactions = new ArrayList<>();
@ -889,6 +891,10 @@ public class Controller extends Thread {
continue;
}
else {
// Count the number that were validated in this round, for logging purposes
validatedCount++;
}
// Add mark signature as valid if transaction still exists in import queue
incomingTransactions.computeIfPresent(transactionData, (k, v) -> Boolean.TRUE);
@ -900,6 +906,8 @@ public class Controller extends Thread {
sigValidTransactions.add(transaction);
}
LOGGER.debug("Finished validating signatures in incoming transactions queue (valid this round: {}, total pending import: {})...", validatedCount, sigValidTransactions.size());
if (sigValidTransactions.isEmpty()) {
// Don't bother locking if there are no new transactions to process
return;
@ -923,6 +931,8 @@ public class Controller extends Thread {
return;
}
LOGGER.debug("Processing incoming transactions queue (size {})...", sigValidTransactions.size());
// Import transactions with valid signatures
try {
for (int i = 0; i < sigValidTransactions.size(); ++i) {

Loading…
Cancel
Save