Github user chtyim commented on a diff in the pull request:
https://github.com/apache/incubator-tephra/pull/53#discussion_r138559674
--- Diff:
tephra-core/src/main/java/org/apache/tephra/persist/AbstractTransactionLog.java
---
@@ -48,21 +52,30 @@
protected long timestamp;
private volatile boolean initialized;
private volatile boolean closed;
+ private AtomicLong writtenUpTo = new AtomicLong();
private AtomicLong syncedUpTo = new AtomicLong();
- private List<Entry> pendingWrites = Lists.newLinkedList();
+ private Queue<Entry> pendingWrites = new ConcurrentLinkedQueue<>();
private TransactionLogWriter writer;
- public AbstractTransactionLog(long timestamp, MetricsCollector
metricsCollector) {
+ private final AtomicLong positionBeforeAppend = new AtomicLong(0);
--- End diff --
This can be just a `long` field, right? Since it is only used by the
start/stop timer method, which only gets called inside the writer sync block.
---