This is an automated email from the ASF dual-hosted git repository. sijie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push: new 33e9d27 [LOGGING] PendingReadOp should log the error code when failing requests 33e9d27 is described below commit 33e9d27beb857834e4dc7b5ca3b69bff9d89bb9f Author: Sijie Guo <guosi...@gmail.com> AuthorDate: Thu Sep 27 10:46:05 2018 -0700 [LOGGING] PendingReadOp should log the error code when failing requests Descriptions of the changes in this PR: *Motivation* Currently when a request is failed, bookkeeper client logs the error message. However the log message doesn't include error code. It makes debugging hard. *Changes* Improve the log message to include error code Author: Reviewers: Andrey Yegorov <None>, Enrico Olivelli <eolive...@gmail.com> This closes #1709 from sijie/improve_error_logging --- .../src/main/java/org/apache/bookkeeper/client/PendingReadOp.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java index 4ee9c92..a66d889 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java @@ -614,17 +614,19 @@ class PendingReadOp implements ReadEntryCallback, SafeRunnable { long latencyNanos = MathUtils.elapsedNanos(requestTimeNanos); if (code != BKException.Code.OK) { long firstUnread = LedgerHandle.INVALID_ENTRY_ID; + Integer firstRc = null; for (LedgerEntryRequest req : seq) { if (!req.isComplete()) { firstUnread = req.eId; + firstRc = req.rc; break; } } LOG.error( "Read of ledger entry failed: L{} E{}-E{}, Sent to {}, " - + "Heard from {} : bitset = {}. First unread entry is {}", + + "Heard from {} : bitset = {}, Error = '{}'. First unread entry is ({}, rc = {})", lh.getId(), startEntryId, endEntryId, sentToHosts, heardFromHosts, heardFromHostsBitSet, - firstUnread); + BKException.getMessage(code), firstUnread, firstRc); clientCtx.getClientStats().getReadOpLogger().registerFailedEvent(latencyNanos, TimeUnit.NANOSECONDS); // release the entries seq.forEach(LedgerEntryRequest::close);