Github user anew commented on a diff in the pull request:
https://github.com/apache/incubator-tephra/pull/53#discussion_r138692966
--- Diff:
tephra-core/src/main/java/org/apache/tephra/persist/AbstractTransactionLog.java
---
@@ -48,21 +51,30 @@
protected long timestamp;
private volatile boolean initialized;
private volatile boolean closed;
- private AtomicLong syncedUpTo = new AtomicLong();
- private List<Entry> pendingWrites = Lists.newLinkedList();
+ private long writtenUpTo = 0L;
+ private volatile long syncedUpTo = 0L;
+ private final Queue<Entry> pendingWrites = new ConcurrentLinkedQueue<>();
private TransactionLogWriter writer;
- public AbstractTransactionLog(long timestamp, MetricsCollector
metricsCollector) {
+ private int countSinceLastSync = 0;
+ private long positionBeforeWrite = -1L;
+ private final Stopwatch stopWatch = new Stopwatch();
+
+ private final long slowAppendThreshold;
+
+ AbstractTransactionLog(long timestamp, MetricsCollector
metricsCollector, Configuration conf) {
this.timestamp = timestamp;
this.metricsCollector = metricsCollector;
+ this.slowAppendThreshold =
conf.getLong(TxConstants.TransactionLog.CFG_SLOW_APPEND_THRESHOLD,
+
TxConstants.TransactionLog.DEFAULT_SLOW_APPEND_THRESHOLD);
}
/**
* Initializes the log file, opening a file writer. Clients calling
{@code init()} should ensure that they
* also call {@link HDFSTransactionLog#close()}.
* @throws java.io.IOException If an error is encountered initializing
the file writer.
*/
- public synchronized void init() throws IOException {
+ private synchronized void init() throws IOException {
--- End diff --
yes, I noticed that, too, that's why I made it private, but forgot to
update the Javadoc
---