You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@distributedlog.apache.org by si...@apache.org on 2016/12/28 01:05:26 UTC
[18/20] incubator-distributedlog git commit: DL-113: Improve the sync
reader benchmark
DL-113: Improve the sync reader benchmark
Add more logging information for calcuating the stats for catching up reads
Project: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/commit/1feaeb43
Tree: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/tree/1feaeb43
Diff: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/diff/1feaeb43
Branch: refs/heads/master
Commit: 1feaeb43702c59b0fc069e8dde6bca92d6c01fe4
Parents: e690a8c
Author: Sijie Guo <si...@twitter.com>
Authored: Mon Nov 21 17:41:26 2016 -0800
Committer: Sijie Guo <si...@twitter.com>
Committed: Tue Dec 27 16:49:30 2016 -0800
----------------------------------------------------------------------
.../distributedlog/benchmark/stream/SyncReaderBenchmark.java | 8 ++++++++
.../java/com/twitter/distributedlog/BKSyncLogReaderDLSN.java | 1 -
2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/1feaeb43/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
index 3d5bd73..87006f4 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
@@ -119,6 +119,9 @@ public class SyncReaderBenchmark extends AbstractReaderBenchmark {
LogRecord record;
boolean nonBlocking = false;
stopwatch = Stopwatch.createUnstarted();
+ long numCatchupReads = 0L;
+ long numCatchupBytes = 0L;
+ Stopwatch catchupStopwatch = Stopwatch.createStarted();
while (true) {
try {
stopwatch.start();
@@ -128,6 +131,8 @@ public class SyncReaderBenchmark extends AbstractReaderBenchmark {
if (nonBlocking) {
nonBlockingReadStats.registerSuccessfulEvent(elapsedMicros);
} else {
+ numCatchupBytes += record.getPayload().length;
+ ++numCatchupReads;
blockingReadStats.registerSuccessfulEvent(elapsedMicros);
}
lastTxId = record.getTransactionId();
@@ -136,6 +141,9 @@ public class SyncReaderBenchmark extends AbstractReaderBenchmark {
}
if (null == record && !nonBlocking) {
nonBlocking = true;
+ catchupStopwatch.stop();
+ logger.info("Catchup {} records (total {} bytes) in {} milliseconds",
+ new Object[] { numCatchupReads, numCatchupBytes, stopwatch.elapsed(TimeUnit.MILLISECONDS) });
}
stopwatch.reset();
} catch (IOException e) {
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/1feaeb43/distributedlog-core/src/main/java/com/twitter/distributedlog/BKSyncLogReaderDLSN.java
----------------------------------------------------------------------
diff --git a/distributedlog-core/src/main/java/com/twitter/distributedlog/BKSyncLogReaderDLSN.java b/distributedlog-core/src/main/java/com/twitter/distributedlog/BKSyncLogReaderDLSN.java
index ded318c..f4ca45e 100644
--- a/distributedlog-core/src/main/java/com/twitter/distributedlog/BKSyncLogReaderDLSN.java
+++ b/distributedlog-core/src/main/java/com/twitter/distributedlog/BKSyncLogReaderDLSN.java
@@ -105,7 +105,6 @@ class BKSyncLogReaderDLSN implements LogReader, AsyncNotification {
}
// reader is caught up
if (readHandler.isReadAheadCaughtUp()
- && null == entry
&& null == readerException.get()) {
entry = readHandler.getNextReadAheadEntry(maxReadAheadWaitTime,
TimeUnit.MILLISECONDS);