1. MapDBLog log size calculation bug fix.
2. Minor logging improvements.
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java
index 933e0ee..663e0f0 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/MapDBLog.java
@@ -2,6 +2,7 @@
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
+import static org.slf4j.LoggerFactory.getLogger;
import java.io.File;
import java.io.IOException;
@@ -22,6 +23,7 @@
import org.mapdb.TxBlock;
import org.mapdb.TxMaker;
import org.onlab.onos.store.serializers.StoreSerializer;
+import org.slf4j.Logger;
import com.google.common.collect.Lists;
@@ -30,6 +32,8 @@
*/
public class MapDBLog implements Log {
+ private final Logger log = getLogger(getClass());
+
private final File dbFile;
private TxMaker txMaker;
private final StoreSerializer serializer;
@@ -273,7 +277,11 @@
size.addAndGet(-1 * deletedBytes);
byte[] entryBytes = serializer.encode(entry);
byte[] existingEntry = log.put(index, entryBytes);
- size.addAndGet(entryBytes.length - existingEntry.length);
+ if (existingEntry != null) {
+ size.addAndGet(entryBytes.length - existingEntry.length);
+ } else {
+ size.addAndGet(entryBytes.length);
+ }
db.compact();
}
});