From 672eac8848e8211fb5103815fa7a2a2d7713bb7b Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 15 Feb 2018 16:09:37 -0800 Subject: [PATCH] edits --- version2/src/C/Table.cc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/version2/src/C/Table.cc b/version2/src/C/Table.cc index 1bdc259..344c62d 100644 --- a/version2/src/C/Table.cc +++ b/version2/src/C/Table.cc @@ -1649,7 +1649,13 @@ void Table::arbitrateFromServer() { } // Get the transaction sequence numbers and sort from oldest to newest - Vector *transactionSequenceNumbers = new Vector(liveTransactionBySequenceNumberTable->keySet()); + Vector *transactionSequenceNumbers = new Vector(); + { + SetIterator * trit = getKeyIterator(liveTransactionBySequenceNumberTable); + while(trit->hasNext()) + transactionSequenceNumbers->add(trit->next()); + delete trit; + } qsort(transactionSequenceNumbers->expose(), transactionSequenceNumbers->size(), sizeof(int64_t), compareInt64); // Collection of key value pairs that are @@ -1658,12 +1664,11 @@ void Table::arbitrateFromServer() { // The last transaction arbitrated on int64_t lastTransactionCommitted = -1; Hashset *generatedAborts = new Hashset(); - - for (int64_t transactionSequenceNumber : transactionSequenceNumbers) { + uint tsnSize = transactionSequenceNumbers->size(); + for(uint i=0; iget(i); Transaction *transaction = liveTransactionBySequenceNumberTable->get(transactionSequenceNumber); - - // Check if this machine arbitrates for this transaction if not // then we cant arbitrate this transaction if (transaction->getArbitrator() != localMachineId) { @@ -1688,7 +1693,7 @@ void Table::arbitrateFromServer() { // update the largest transaction seen by arbitrator from server - if (lastTransactionSeenFromMachineFromServer->get(transaction->getMachineId()) == NULL) { + if (!lastTransactionSeenFromMachineFromServer->contains(transaction->getMachineId())) { lastTransactionSeenFromMachineFromServer->put(transaction->getMachineId(), transaction->getClientLocalSequenceNumber()); } else { int64_t lastTransactionSeenFromMachine = lastTransactionSeenFromMachineFromServer->get(transaction->getMachineId()); -- 2.34.1