Commit 0c07764b authored by Eriksson Monteiro's avatar Eriksson Monteiro

fix node crash during consensus

parent 61f312ea
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<br> <br>
<a href="#"><img src="https://github.com/millix/millix-wallet/blob/master/app/icon.png?raw=true" alt="millix node" width="200"></a> <a href="#"><img src="https://github.com/millix/millix-wallet/blob/master/app/icon.png?raw=true" alt="millix node" width="200"></a>
<br> <br>
millix node <small>v1.18.1</small> millix node <small>v1.18.2</small>
<br> <br>
</h1> </h1>
......
...@@ -779,8 +779,8 @@ export const NETWORK_SHORT_TIME_WAIT_MAX = 1500; ...@@ -779,8 +779,8 @@ export const NETWORK_SHORT_TIME_WAIT_MAX = 1500;
export const DATABASE_ENGINE = 'sqlite'; export const DATABASE_ENGINE = 'sqlite';
export const DATABASE_CONNECTION = {}; export const DATABASE_CONNECTION = {};
export const MILLIX_CIRCULATION = 9e15; export const MILLIX_CIRCULATION = 9e15;
export const NODE_MILLIX_BUILD_DATE = 1650985641; export const NODE_MILLIX_BUILD_DATE = 1651110189;
export const NODE_MILLIX_VERSION = '1.18.1-tangled'; export const NODE_MILLIX_VERSION = '1.18.2-tangled';
export const DATA_BASE_DIR_MAIN_NETWORK = './millix-tangled'; export const DATA_BASE_DIR_MAIN_NETWORK = './millix-tangled';
export const DATA_BASE_DIR_TEST_NETWORK = './millix-tangled'; export const DATA_BASE_DIR_TEST_NETWORK = './millix-tangled';
let DATA_BASE_DIR = MODE_TEST_NETWORK ? DATA_BASE_DIR_TEST_NETWORK : DATA_BASE_DIR_MAIN_NETWORK; let DATA_BASE_DIR = MODE_TEST_NETWORK ? DATA_BASE_DIR_TEST_NETWORK : DATA_BASE_DIR_MAIN_NETWORK;
......
...@@ -1011,9 +1011,10 @@ export class WalletTransactionConsensus { ...@@ -1011,9 +1011,10 @@ export class WalletTransactionConsensus {
cache.removeCacheItem('validation', transactionID); cache.removeCacheItem('validation', transactionID);
consensusData.active = false; consensusData.active = false;
if(transaction) { if (transaction) {
walletSync.syncTransactionSpendingOutputs(transaction, config.MODE_NODE_SYNC_FULL); walletSync.syncTransactionSpendingOutputs(transaction, config.MODE_NODE_SYNC_FULL);
} else { }
else {
console.log('[wallet-transaction-consensus] unexpected null transaction object detected'); console.log('[wallet-transaction-consensus] unexpected null transaction object detected');
} }
...@@ -1150,12 +1151,17 @@ export class WalletTransactionConsensus { ...@@ -1150,12 +1151,17 @@ export class WalletTransactionConsensus {
pendingTransaction = rejectedTransactions[0]; pendingTransaction = rejectedTransactions[0];
} }
const transactionID = pendingTransaction.transaction_id;
if (!pendingTransaction) { if (!pendingTransaction) {
console.log('[wallet-transaction-consensus] no pending funds available for validation.'); console.log('[wallet-transaction-consensus] no pending funds available for validation.');
return; return;
} }
else if (this._transactionRetryValidation[transactionID]) {
console.log('[wallet-transaction-consensus] already active for transaction ', transactionID);
return;
}
const transactionID = pendingTransaction.transaction_id;
console.log('[wallet-transaction-consensus] starting consensus round for ', transactionID); console.log('[wallet-transaction-consensus] starting consensus round for ', transactionID);
this._transactionRetryValidation[transactionID] = Date.now(); this._transactionRetryValidation[transactionID] = Date.now();
......
...@@ -4,6 +4,7 @@ import async from 'async'; ...@@ -4,6 +4,7 @@ import async from 'async';
export class Pool { export class Pool {
static WORKER_MAX = 32;
constructor(databaseFolder, databaseName, initScriptFile, size) { constructor(databaseFolder, databaseName, initScriptFile, size) {
this.initialized = false; this.initialized = false;
...@@ -13,7 +14,7 @@ export class Pool { ...@@ -13,7 +14,7 @@ export class Pool {
this.initScriptFile = initScriptFile; this.initScriptFile = initScriptFile;
this.workerList = []; this.workerList = [];
this.queue = []; this.queue = [];
this.size = size || os.cpus().length; this.size = size || Math.min(os.cpus().length, Pool.WORKER_MAX);
} }
drainQueue() { drainQueue() {
......
...@@ -130,4 +130,4 @@ logger.initialize().then(() => { ...@@ -130,4 +130,4 @@ logger.initialize().then(() => {
} }
}); });
}); });
//millix v1.18.1-tangled //millix v1.18.2-tangled
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment