From 284cc110bc480955e342c5fc2f75e79660b75fee Mon Sep 17 00:00:00 2001 From: Joao Sousa Date: Wed, 9 Mar 2016 20:57:58 +0000 Subject: [PATCH] Re-arranged some code in the Default*Recoverable classes. --- .../server/defaultservices/DefaultRecoverable.java | 14 ++++++++++---- .../defaultservices/DefaultSingleRecoverable.java | 8 +++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/bftsmart/tom/server/defaultservices/DefaultRecoverable.java b/src/bftsmart/tom/server/defaultservices/DefaultRecoverable.java index 200df864..dcfe7f40 100644 --- a/src/bftsmart/tom/server/defaultservices/DefaultRecoverable.java +++ b/src/bftsmart/tom/server/defaultservices/DefaultRecoverable.java @@ -165,6 +165,7 @@ public abstract class DefaultRecoverable implements Recoverable, BatchExecutable } private StateLog getLog() { + initLog(); return log; } @@ -253,6 +254,7 @@ public abstract class DefaultRecoverable implements Recoverable, BatchExecutable stateLock.lock(); if (state.getSerializedState() != null) { System.out.println("The state is not null. Will install it"); + initLog(); log.update(state); installSnapshot(state.getSerializedState()); } @@ -369,10 +371,7 @@ public abstract class DefaultRecoverable implements Recoverable, BatchExecutable return index; } - @Override - public void setReplicaContext(ReplicaContext replicaContext) { - this.config = replicaContext.getStaticConfiguration(); - this.controller = replicaContext.getSVController(); + private void initLog() { if (log == null) { checkpointPeriod = config.getCheckpointPeriod(); byte[] state = getSnapshot(); @@ -392,6 +391,13 @@ public abstract class DefaultRecoverable implements Recoverable, BatchExecutable log = new StateLog(this.config.getProcessId(), checkpointPeriod, state, computeHash(state)); } } + } + + @Override + public void setReplicaContext(ReplicaContext replicaContext) { + this.config = replicaContext.getStaticConfiguration(); + this.controller = replicaContext.getSVController(); + initLog(); getStateManager().askCurrentConsensusId(); } diff --git a/src/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.java b/src/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.java index bdd283bd..6ff82014 100644 --- a/src/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.java +++ b/src/bftsmart/tom/server/defaultservices/DefaultSingleRecoverable.java @@ -116,8 +116,7 @@ public abstract class DefaultSingleRecoverable implements Recoverable, SingleExe } private StateLog getLog() { - if(log == null) - initLog(); + initLog(); return log; } @@ -193,8 +192,7 @@ public abstract class DefaultSingleRecoverable implements Recoverable, SingleExe System.out.println("(DefaultSingleRecoverable.setState) last CID in state: " + state.getLastCID()); logLock.lock(); - if(log == null) - initLog(); + initLog(); log.update(state); logLock.unlock(); @@ -280,7 +278,7 @@ public abstract class DefaultSingleRecoverable implements Recoverable, SingleExe return stateManager; } - protected void initLog() { + private void initLog() { if(log == null) { checkpointPeriod = config.getCheckpointPeriod(); byte[] state = getSnapshot(); -- GitLab