From 210a2bdb8b43588327608fe779133bc65447e866 Mon Sep 17 00:00:00 2001 From: Zhongjie Wu Date: Fri, 17 Aug 2012 12:48:18 -0700 Subject: [PATCH] Revert "Improving debug messages in request tracing" This reverts commit 98643ea18481ebfbb0fe1a7575ae6157f84f939e. --- .../server/niosocket/AsyncRequestHandler.java | 11 ++-- .../vold/VoldemortNativeRequestHandler.java | 34 +++++------ .../voldemort/store/bdb/BdbStorageEngine.java | 10 ++-- .../store/routed/PipelineRoutedStore.java | 45 ++++++-------- .../routed/action/AbstractReadRepair.java | 11 ++-- .../action/PerformParallelDeleteRequests.java | 6 +- .../action/PerformParallelPutRequests.java | 4 +- .../action/PerformParallelRequests.java | 16 +++-- .../action/PerformSerialGetAllRequests.java | 19 +++--- .../action/PerformSerialPutRequests.java | 12 ++-- .../routed/action/PerformSerialRequests.java | 8 +-- .../voldemort/store/slop/HintedHandoff.java | 60 +++++++++---------- src/java/voldemort/utils/ByteArray.java | 14 ----- 13 files changed, 101 insertions(+), 149 deletions(-) diff --git a/src/java/voldemort/server/niosocket/AsyncRequestHandler.java b/src/java/voldemort/server/niosocket/AsyncRequestHandler.java index d6af05b642..27772e7740 100644 --- a/src/java/voldemort/server/niosocket/AsyncRequestHandler.java +++ b/src/java/voldemort/server/niosocket/AsyncRequestHandler.java @@ -127,16 +127,13 @@ protected void read(SelectionKey selectionKey) throws IOException { if(logger.isTraceEnabled()) logger.trace("Starting execution for " + socketChannel.socket()); - DataInputStream dataInputStream = new DataInputStream(inputStream); - DataOutputStream dataOutputStream = new DataOutputStream(outputStream); - - streamRequestHandler = requestHandler.handleRequest(dataInputStream, - dataOutputStream); + streamRequestHandler = requestHandler.handleRequest(new DataInputStream(inputStream), + new DataOutputStream(outputStream)); if(logger.isDebugEnabled()) { logger.debug("AsyncRequestHandler:read finished request from " + socketChannel.socket().getRemoteSocketAddress() + " handlerRef: " - + System.identityHashCode(dataInputStream) + " at time: " + + System.identityHashCode(streamRequestHandler) + " at time: " + System.currentTimeMillis() + " elapsed time: " + (System.nanoTime() - startNs) + " ns"); } @@ -310,7 +307,7 @@ private StreamRequestHandlerState handleStreamRequestInternal(SelectionKey selec if(logger.isDebugEnabled()) { logger.debug("Handled request from " + socketChannel.socket().getRemoteSocketAddress() + " handlerRef: " - + System.identityHashCode(dataInputStream) + " at time: " + + System.identityHashCode(streamRequestHandler) + " at time: " + System.currentTimeMillis() + " elapsed time: " + (System.nanoTime() - startNs) + " ns"); } diff --git a/src/java/voldemort/server/protocol/vold/VoldemortNativeRequestHandler.java b/src/java/voldemort/server/protocol/vold/VoldemortNativeRequestHandler.java index cadce8b8bb..fa70a4b3eb 100644 --- a/src/java/voldemort/server/protocol/vold/VoldemortNativeRequestHandler.java +++ b/src/java/voldemort/server/protocol/vold/VoldemortNativeRequestHandler.java @@ -135,8 +135,7 @@ private void handleGetVersion(DataInputStream inputStream, if(logger.isDebugEnabled()) { logger.debug("GETVERSIONS started at: " + startTimeMs + " handlerRef: " - + System.identityHashCode(inputStream) + " key: " - + ByteUtils.toHexString(key.get()) + " " + + System.identityHashCode(this) + " key: " + key + " " + (System.nanoTime() - startTimeNs) + " ns, keySize: " + key.length() + "clocks: " + clockStr); } @@ -318,7 +317,7 @@ private void handleGet(DataInputStream inputStream, } writeResults(outputStream, results); if(logger.isDebugEnabled()) { - debugLogReturnValue(inputStream, key, results, startTimeMs, startTimeNs, "GET"); + debugLogReturnValue(key, results, startTimeMs, startTimeNs, "GET"); } } @@ -375,8 +374,7 @@ private void handleGetAll(DataInputStream inputStream, writeResults(outputStream, entry.getValue()); if(logger.isDebugEnabled()) { - debugLogReturnValue(inputStream, - entry.getKey(), + debugLogReturnValue(entry.getKey(), entry.getValue(), startTimeMs, startTimeNs, @@ -388,8 +386,7 @@ private void handleGetAll(DataInputStream inputStream, logger.debug("GETALL end"); } - private void debugLogReturnValue(DataInputStream input, - ByteArray key, + private void debugLogReturnValue(ByteArray key, List> values, long startTimeMs, long startTimeNs, @@ -409,13 +406,12 @@ private void debugLogReturnValue(DataInputStream input, valueHashStr += "]"; versionsStr += "]"; - logger.debug(getType + " handlerRef: " + System.identityHashCode(input) + " start time: " - + startTimeMs + " key: " + ByteUtils.toHexString(key.get()) - + " elapsed time: " + (System.nanoTime() - startTimeNs) + " ns, keySize: " - + key.length() + " numResults: " + values.size() + " totalResultSize: " - + totalValueSize + " resultSizes: " + valueSizeStr + " resultHashes: " - + valueHashStr + " versions: " + versionsStr + " current time: " - + System.currentTimeMillis()); + logger.debug(getType + " handlerRef: " + System.identityHashCode(this) + " start time: " + + startTimeMs + " key: " + key + " elapsed time: " + + (System.nanoTime() - startTimeNs) + " ns, keySize: " + key.length() + + " numResults: " + values.size() + " totalResultSize: " + totalValueSize + + " resultSizes: " + valueSizeStr + " resultHashes: " + valueHashStr + + " versions: " + versionsStr + " current time: " + System.currentTimeMillis()); } private void handlePut(DataInputStream inputStream, @@ -451,10 +447,9 @@ private void handlePut(DataInputStream inputStream, if(logger.isDebugEnabled()) { logger.debug("PUT started at: " + startTimeMs + " handlerRef: " - + System.identityHashCode(inputStream) + " key: " - + ByteUtils.toHexString(key.get()) + " " + + System.identityHashCode(this) + " key: " + key + " " + (System.nanoTime() - startTimeNs) + " ns, keySize: " + key.length() - + " valueHash: " + value.hashCode() + " valueSize: " + value.length + + " valueHash: " + value.hashCode() + " valueSize: " + valueSize + " clockSize: " + clock.sizeInBytes() + " time: " + System.currentTimeMillis()); } @@ -485,9 +480,8 @@ private void handleDelete(DataInputStream inputStream, } if(logger.isDebugEnabled()) { - logger.debug("DELETE started at: " + startTimeMs + " key: " - + ByteUtils.toHexString(key.get()) + " handlerRef: " - + System.identityHashCode(inputStream) + " time: " + logger.debug("DELETE started at: " + startTimeMs + " key: " + key + " handlerRef: " + + System.identityHashCode(this) + " time: " + (System.nanoTime() - startTimeNs) + " ns, keySize: " + key.length() + " clockSize: " + version.sizeInBytes()); } diff --git a/src/java/voldemort/store/bdb/BdbStorageEngine.java b/src/java/voldemort/store/bdb/BdbStorageEngine.java index b74e31cfe6..1b2013ca46 100644 --- a/src/java/voldemort/store/bdb/BdbStorageEngine.java +++ b/src/java/voldemort/store/bdb/BdbStorageEngine.java @@ -281,7 +281,7 @@ public Map>> getAll(Iterable keys, for(ByteArray key: keys) { if(logger.isTraceEnabled()) - keyStr += ByteUtils.toHexString(key.get()) + " "; + keyStr += key + " "; List> values = get(cursor, key, readLockMode, versionedSerializer); if(!values.isEmpty()) @@ -324,7 +324,7 @@ private static List get(Cursor cursor, } if(logger.isTraceEnabled()) { - logger.trace("Completed GET from key " + ByteUtils.toHexString(key.get()) + " in " + logger.trace("Completed GET from key " + key + " in " + (System.nanoTime() - startTimeNs) + " ns at " + System.currentTimeMillis()); } @@ -390,7 +390,7 @@ else if(occurred == Occurred.AFTER) } if(logger.isTraceEnabled()) { - logger.trace("Completed PUT to key " + ByteUtils.toHexString(key.get()) + " (keyRef: " + logger.trace("Completed PUT to key " + key + " (keyRef: " + System.identityHashCode(key) + " value " + value + " in " + (System.nanoTime() - startTimeNs) + " ns at " + System.currentTimeMillis()); @@ -431,8 +431,8 @@ public boolean delete(ByteArray key, Version version) throws PersistenceFailureE } finally { if(logger.isTraceEnabled()) { - logger.trace("Completed DELETE of key " + ByteUtils.toHexString(key.get()) - + " (keyRef: " + System.identityHashCode(key) + ") in " + logger.trace("Completed DELETE of key " + key + " (keyRef: " + + System.identityHashCode(key) + ") in " + (System.nanoTime() - startTimeNs) + " ns at " + System.currentTimeMillis()); } diff --git a/src/java/voldemort/store/routed/PipelineRoutedStore.java b/src/java/voldemort/store/routed/PipelineRoutedStore.java index dc8e20265e..dfde9b350c 100644 --- a/src/java/voldemort/store/routed/PipelineRoutedStore.java +++ b/src/java/voldemort/store/routed/PipelineRoutedStore.java @@ -251,10 +251,9 @@ public List> request(Store store) { } if(logger.isDebugEnabled()) { - logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " - + ByteUtils.toHexString(key.get()) + " keyRef: " - + System.identityHashCode(key) + "; started at " + startTimeMs + " took " - + (System.nanoTime() - startTimeNs) + " values: " + logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " + key + + " keyRef: " + System.identityHashCode(key) + "; started at " + + startTimeMs + " took " + (System.nanoTime() - startTimeNs) + " values: " + formatNodeValuesFromGet(pipelineData.getResponses())); } @@ -356,10 +355,9 @@ public Map>> getAll(Iterable keys, throw pipelineData.getFatalError(); if(logger.isDebugEnabled()) { - logger.debug("Finished " + pipeline.getOperation().getSimpleName() + "for keys " - + ByteArray.toHexStrings(keys) + " keyRef: " - + System.identityHashCode(keys) + "; started at " + startTimeMs + " took " - + (System.nanoTime() - startTimeNs) + " values: " + logger.debug("Finished " + pipeline.getOperation().getSimpleName() + "for keys " + keys + + " keyRef: " + System.identityHashCode(keys) + "; started at " + + startTimeMs + " took " + (System.nanoTime() - startTimeNs) + " values: " + formatNodeValuesFromGetAll(pipelineData.getResponses())); } @@ -371,9 +369,8 @@ private String formatNodeValuesFromGetAll(List, Map StringBuilder builder = new StringBuilder(); builder.append("{"); for(Response, Map>>> r: list) { - builder.append("(nodeId=" + r.getNode().getId() + ", keys=" - + ByteArray.toHexStrings(r.getKey()) + ", retrieved= " + r.getValue() - + ")"); + builder.append("(nodeId=" + r.getNode().getId() + ", key=" + r.getKey() + + ", retrieved= " + r.getValue() + ")"); builder.append(", "); } builder.append("}"); @@ -472,10 +469,9 @@ public List request(Store store) { results.addAll(response.getValue()); if(logger.isDebugEnabled()) { - logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " - + ByteUtils.toHexString(key.get()) + " keyRef: " - + System.identityHashCode(key) + "; started at " + startTimeMs + " took " - + (System.nanoTime() - startTimeNs) + " values: " + logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " + key + + " keyRef: " + System.identityHashCode(key) + "; started at " + + startTimeMs + " took " + (System.nanoTime() - startTimeNs) + " values: " + formatNodeValuesFromGetVersions(pipelineData.getResponses())); } @@ -487,9 +483,8 @@ private String formatNodeValuesFromGetVersions(List> r: results) { - builder.append("(nodeId=" + r.getNode().getId() + ", key=" - + ByteUtils.toHexString(r.getKey().get()) + ", retrieved= " - + r.getValue() + "), "); + builder.append("(nodeId=" + r.getNode().getId() + ", key=" + r.getKey() + + ", retrieved= " + r.getValue() + "), "); } builder.append("}"); @@ -580,9 +575,8 @@ public boolean delete(final ByteArray key, final Version version) throws Voldemo if(logger.isDebugEnabled()) { logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " - + ByteUtils.toHexString(key.get()) + " keyRef: " - + System.identityHashCode(key) + "; started at " + startTimeMs + " took " - + (System.nanoTime() - startTimeNs)); + + key.get() + " keyRef: " + System.identityHashCode(key) + "; started at " + + startTimeMs + " took " + (System.nanoTime() - startTimeNs)); } if(pipelineData.getFatalError() != null) @@ -706,11 +700,10 @@ public void put(ByteArray key, Versioned versioned, byte[] transforms) } if(logger.isDebugEnabled()) { - logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " - + ByteUtils.toHexString(key.get()) + " keyRef: " - + System.identityHashCode(key) + "; started at " + startTimeMs + " took " - + (System.nanoTime() - startTimeNs) + " value: " + versioned.getValue() - + " (size: " + versioned.getValue().length + ")"); + logger.debug("Finished " + pipeline.getOperation().getSimpleName() + " for key " + key + + " keyRef: " + System.identityHashCode(key) + "; started at " + + startTimeMs + " took " + (System.nanoTime() - startTimeNs) + " value: " + + versioned.getValue() + " (size: " + versioned.getValue().length + ")"); } if(pipelineData.getFatalError() != null) diff --git a/src/java/voldemort/store/routed/action/AbstractReadRepair.java b/src/java/voldemort/store/routed/action/AbstractReadRepair.java index ac2dac7829..6e2ea19d6f 100644 --- a/src/java/voldemort/store/routed/action/AbstractReadRepair.java +++ b/src/java/voldemort/store/routed/action/AbstractReadRepair.java @@ -24,11 +24,10 @@ import voldemort.store.nonblockingstore.NonblockingStore; import voldemort.store.routed.NodeValue; import voldemort.store.routed.Pipeline; -import voldemort.store.routed.Pipeline.Event; import voldemort.store.routed.PipelineData; import voldemort.store.routed.ReadRepairer; +import voldemort.store.routed.Pipeline.Event; import voldemort.utils.ByteArray; -import voldemort.utils.ByteUtils; import voldemort.versioning.VectorClock; import voldemort.versioning.Versioned; @@ -102,8 +101,7 @@ public void execute(Pipeline pipeline) { try { if(logger.isDebugEnabled()) logger.debug("Doing read repair on node " + v.getNodeId() + " for key '" - + ByteUtils.toHexString(v.getKey().get()) + "' with version " - + v.getVersion() + "."); + + v.getKey() + "' with version " + v.getVersion() + "."); NonblockingStore store = nonblockingStores.get(v.getNodeId()); store.submitPutRequest(v.getKey(), v.getVersioned(), null, null, timeoutMs); @@ -112,9 +110,8 @@ public void execute(Pipeline pipeline) { logger.debug("Read repair cancelled due to application level exception on node " + v.getNodeId() + " for key '" - + ByteUtils.toHexString(v.getKey().get()) - + "' with version " - + v.getVersion() + ": " + e.getMessage()); + + v.getKey() + + "' with version " + v.getVersion() + ": " + e.getMessage()); } catch(Exception e) { logger.debug("Read repair failed: ", e); } diff --git a/src/java/voldemort/store/routed/action/PerformParallelDeleteRequests.java b/src/java/voldemort/store/routed/action/PerformParallelDeleteRequests.java index 634b470805..7f30c90a9b 100644 --- a/src/java/voldemort/store/routed/action/PerformParallelDeleteRequests.java +++ b/src/java/voldemort/store/routed/action/PerformParallelDeleteRequests.java @@ -93,9 +93,9 @@ public void execute(final Pipeline pipeline) { public void requestComplete(Object result, long requestTime) { if(logger.isTraceEnabled()) - logger.trace(pipeline.getOperation().getSimpleName() - + " response received (" + requestTime + " ms.) from node " - + node.getId()); + logger.info(pipeline.getOperation().getSimpleName() + + " response received (" + requestTime + " ms.) from node " + + node.getId()); Response response = new Response(node, key, diff --git a/src/java/voldemort/store/routed/action/PerformParallelPutRequests.java b/src/java/voldemort/store/routed/action/PerformParallelPutRequests.java index b2e3bc09be..a8373418b5 100644 --- a/src/java/voldemort/store/routed/action/PerformParallelPutRequests.java +++ b/src/java/voldemort/store/routed/action/PerformParallelPutRequests.java @@ -42,7 +42,6 @@ import voldemort.store.slop.HintedHandoff; import voldemort.store.slop.Slop; import voldemort.utils.ByteArray; -import voldemort.utils.ByteUtils; import voldemort.utils.Time; import voldemort.versioning.ObsoleteVersionException; import voldemort.versioning.Versioned; @@ -131,8 +130,7 @@ public void requestComplete(Object result, long requestTime) { responses.put(node.getId(), response); if(logger.isDebugEnabled()) - logger.debug("Finished secondary PUT for key " - + ByteUtils.toHexString(key.get()) + " (keyRef: " + logger.debug("Finished secondary PUT for key " + key + " (keyRef: " + System.identityHashCode(key) + "); took " + requestTime + " ms on node " + node.getId() + "(" + node.getHost() + ")"); diff --git a/src/java/voldemort/store/routed/action/PerformParallelRequests.java b/src/java/voldemort/store/routed/action/PerformParallelRequests.java index 18385a5f7f..73399d75b0 100644 --- a/src/java/voldemort/store/routed/action/PerformParallelRequests.java +++ b/src/java/voldemort/store/routed/action/PerformParallelRequests.java @@ -38,7 +38,6 @@ import voldemort.store.routed.Pipeline.Operation; import voldemort.store.routed.Response; import voldemort.utils.ByteArray; -import voldemort.utils.ByteUtils; import voldemort.utils.Utils; public class PerformParallelRequests> extends @@ -112,10 +111,10 @@ public void requestComplete(Object result, long requestTime) { requestTime); if(logger.isDebugEnabled()) logger.debug("Finished " + pipeline.getOperation().getSimpleName() - + " for key " + ByteUtils.toHexString(key.get()) - + " (keyRef: " + System.identityHashCode(key) - + "); started at " + startMs + " took " + requestTime - + " ms on node " + node.getId() + "(" + node.getHost() + ")"); + + " for key " + key + " (keyRef: " + + System.identityHashCode(key) + "); started at " + startMs + + " took " + requestTime + " ms on node " + node.getId() + "(" + + node.getHost() + ")"); responses.put(node.getId(), response); latch.countDown(); @@ -175,10 +174,9 @@ else if(pipeline.getOperation() == Operation.GET_VERSIONS) } if(logger.isDebugEnabled()) - logger.debug("GET for key " + ByteUtils.toHexString(key.get()) + " (keyRef: " - + System.identityHashCode(key) + "); successes: " - + pipelineData.getSuccesses() + " preferred: " + preferred + " required: " - + required); + logger.debug("GET for key " + key + " (keyRef: " + System.identityHashCode(key) + + "); successes: " + pipelineData.getSuccesses() + " preferred: " + + preferred + " required: " + required); if(pipelineData.getSuccesses() < required) { if(insufficientSuccessesEvent != null) { diff --git a/src/java/voldemort/store/routed/action/PerformSerialGetAllRequests.java b/src/java/voldemort/store/routed/action/PerformSerialGetAllRequests.java index bcfcc820ad..c8135781d4 100644 --- a/src/java/voldemort/store/routed/action/PerformSerialGetAllRequests.java +++ b/src/java/voldemort/store/routed/action/PerformSerialGetAllRequests.java @@ -79,11 +79,10 @@ public void execute(Pipeline pipeline) { boolean zoneRequirement = false; MutableInt successCount = pipelineData.getSuccessCount(key); - if(logger.isDebugEnabled()) - logger.debug("GETALL for key " + ByteUtils.toHexString(key.get()) + " (keyRef: " - + System.identityHashCode(key) + ") successes: " - + successCount.intValue() + " preferred: " + preferred + " required: " - + required); + if(logger.isDebugEnabled()) + logger.debug("GETALL for key " + key + " (keyRef: " + System.identityHashCode(key) + + ") successes: " + successCount.intValue() + " preferred: " + preferred + + " required: " + required); if(successCount.intValue() >= preferred) { if(pipelineData.getZonesRequired() != null) { @@ -139,11 +138,11 @@ public void execute(Pipeline pipeline) { failureDetector.recordSuccess(response.getNode(), response.getRequestTime()); if(logger.isDebugEnabled()) - logger.debug("GET for key " + ByteUtils.toHexString(key.get()) - + " (keyRef: " + System.identityHashCode(key) - + ") successes: " + successCount.intValue() + " preferred: " - + preferred + " required: " + required - + " new GET success on node " + node.getId()); + logger.debug("GET for key " + key + " (keyRef: " + + System.identityHashCode(key) + ") successes: " + + successCount.intValue() + " preferred: " + preferred + + " required: " + required + " new GET success on node " + + node.getId()); HashSet zoneResponses = null; if(pipelineData.getKeyToZoneResponse().containsKey(key)) { diff --git a/src/java/voldemort/store/routed/action/PerformSerialPutRequests.java b/src/java/voldemort/store/routed/action/PerformSerialPutRequests.java index 08a25c7bc7..7b7b3d65fd 100644 --- a/src/java/voldemort/store/routed/action/PerformSerialPutRequests.java +++ b/src/java/voldemort/store/routed/action/PerformSerialPutRequests.java @@ -29,7 +29,6 @@ import voldemort.store.routed.Pipeline.Event; import voldemort.store.routed.PutPipelineData; import voldemort.utils.ByteArray; -import voldemort.utils.ByteUtils; import voldemort.utils.Time; import voldemort.versioning.VectorClock; import voldemort.versioning.Versioned; @@ -174,8 +173,7 @@ public void execute(Pipeline pipeline) { } else { if(logger.isDebugEnabled()) - logger.debug("Finished master PUT for key " - + ByteUtils.toHexString(key.get()) + " (keyRef: " + logger.debug("Finished master PUT for key " + key + " (keyRef: " + System.identityHashCode(key) + "); started at " + startMasterMs + " took " + (System.nanoTime() - startMasterNs) + " ns on node " @@ -187,10 +185,10 @@ public void execute(Pipeline pipeline) { } } else { if(logger.isDebugEnabled()) - logger.debug("Finished master PUT for key " + ByteUtils.toHexString(key.get()) - + " (keyRef: " + System.identityHashCode(key) + "); started at " - + startMasterMs + " took " + (System.nanoTime() - startMasterNs) - + " ns on node " + (node == null ? "NULL" : node.getId()) + "(" + logger.debug("Finished master PUT for key " + key + " (keyRef: " + + System.identityHashCode(key) + "); started at " + startMasterMs + + " took " + (System.nanoTime() - startMasterNs) + " ns on node " + + (node == null ? "NULL" : node.getId()) + "(" + (node == null ? "NULL" : node.getHost()) + ")"); pipeline.addEvent(masterDeterminedEvent); diff --git a/src/java/voldemort/store/routed/action/PerformSerialRequests.java b/src/java/voldemort/store/routed/action/PerformSerialRequests.java index 6feafd140c..4c447174d8 100644 --- a/src/java/voldemort/store/routed/action/PerformSerialRequests.java +++ b/src/java/voldemort/store/routed/action/PerformSerialRequests.java @@ -31,7 +31,6 @@ import voldemort.store.routed.Pipeline.Event; import voldemort.store.routed.Response; import voldemort.utils.ByteArray; -import voldemort.utils.ByteUtils; import voldemort.utils.Time; public class PerformSerialRequests> extends @@ -100,10 +99,9 @@ public void execute(Pipeline pipeline) { ((System.nanoTime() - start) / Time.NS_PER_MS)); if(logger.isDebugEnabled()) - logger.debug(pipeline.getOperation().getSimpleName() + " for key " - + ByteUtils.toHexString(key.get()) + " successes: " - + pipelineData.getSuccesses() + " preferred: " + preferred - + " required: " + required + " new " + logger.debug(pipeline.getOperation().getSimpleName() + " for key " + key + + " successes: " + pipelineData.getSuccesses() + " preferred: " + + preferred + " required: " + required + " new " + pipeline.getOperation().getSimpleName() + " success on node " + node.getId()); diff --git a/src/java/voldemort/store/slop/HintedHandoff.java b/src/java/voldemort/store/slop/HintedHandoff.java index ff2d81b823..5e506a85e2 100644 --- a/src/java/voldemort/store/slop/HintedHandoff.java +++ b/src/java/voldemort/store/slop/HintedHandoff.java @@ -27,12 +27,11 @@ import voldemort.serialization.SlopSerializer; import voldemort.store.Store; import voldemort.store.UnreachableStoreException; +import voldemort.store.slop.strategy.HintedHandoffStrategy; import voldemort.store.nonblockingstore.NonblockingStore; import voldemort.store.nonblockingstore.NonblockingStoreCallback; import voldemort.store.routed.Response; -import voldemort.store.slop.strategy.HintedHandoffStrategy; import voldemort.utils.ByteArray; -import voldemort.utils.ByteUtils; import voldemort.utils.Time; import voldemort.utils.Utils; import voldemort.versioning.ObsoleteVersionException; @@ -68,8 +67,7 @@ public class HintedHandoff { * Create a Hinted Handoff object * * @param failureDetector The failure detector - * @param nonblockingSlopStores A map of node ids to nonb-locking slop - * stores + * @param nonblockingSlopStores A map of node ids to nonb-locking slop stores * @param slopStores A map of node ids to blocking slop stores * @param handoffStrategy The {@link HintedHandoffStrategy} implementation * @param failedNodes A list of nodes in the original preflist for the @@ -91,18 +89,15 @@ public HintedHandoff(FailureDetector failureDetector, } /** - * Like - * {@link #sendHintSerial(voldemort.cluster.Node, voldemort.versioning.Version, Slop)} - * , but doesn't block the pipeline. Intended for handling prolonged - * failures without incurring a performance cost. - * - * @see #sendHintSerial(voldemort.cluster.Node, - * voldemort.versioning.Version, Slop) + * Like {@link #sendHintSerial(voldemort.cluster.Node, voldemort.versioning.Version, Slop)}, + * but doesn't block the pipeline. Intended for handling prolonged failures without + * incurring a performance cost. + * + * @see #sendHintSerial(voldemort.cluster.Node, voldemort.versioning.Version, Slop) */ public void sendHintParallel(final Node failedNode, final Version version, final Slop slop) { final ByteArray slopKey = slop.makeKey(); - Versioned slopVersioned = new Versioned(slopSerializer.toBytes(slop), - version); + Versioned slopVersioned = new Versioned(slopSerializer.toBytes(slop), version); for(final Node node: handoffStrategy.routeHint(failedNode)) { int nodeId = node.getId(); @@ -116,12 +111,10 @@ public void sendHintParallel(final Node failedNode, final Version version, final final long startNs = System.nanoTime(); if(logger.isDebugEnabled()) - logger.debug("Slop attempt to write " - + ByteUtils.toHexString(slop.getKey().get()) + " for " - + failedNode + " to node " + node); + logger.debug("Slop attempt to write " + slop.getKey() + " for " + failedNode + + " to node " + node); NonblockingStoreCallback callback = new NonblockingStoreCallback() { - public void requestComplete(Object result, long requestTime) { Response response = new Response(node, slopKey, @@ -137,16 +130,15 @@ public void requestComplete(Object result, long requestTime) { if(response.getValue() instanceof UnreachableStoreException) { UnreachableStoreException use = (UnreachableStoreException) response.getValue(); - if(logger.isDebugEnabled()) - logger.debug("Write of key " - + ByteUtils.toHexString(slop.getKey().get()) - + " for " + failedNode + " to node " + node - + " failed due to unreachable: " - + use.getMessage()); + if(logger.isDebugEnabled()) + logger.debug("Write of key " + slop.getKey() + " for " + + failedNode + " to node " + node + + " failed due to unreachable: " + + use.getMessage()); failureDetector.recordException(node, (System.nanoTime() - startNs) - / Time.NS_PER_MS, + / Time.NS_PER_MS, use); } sendHintSerial(failedNode, version, slop); @@ -155,8 +147,7 @@ public void requestComplete(Object result, long requestTime) { } if(logger.isDebugEnabled()) - logger.debug("Slop write of key " - + ByteUtils.toHexString(slop.getKey().get()) + " for " + logger.debug("Slop write of key " + slop.getKey() + " for " + failedNode + " to node " + node + " succeeded in " + (System.nanoTime() - startNs) + " ns"); @@ -166,12 +157,16 @@ public void requestComplete(Object result, long requestTime) { } }; - nonblockingStore.submitPutRequest(slopKey, slopVersioned, null, callback, timeoutMs); + nonblockingStore.submitPutRequest(slopKey, + slopVersioned, + null, + callback, + timeoutMs); break; } } } - + /** * Send a hint of a request originally meant for the failed node to another * node in the ring, as selected by the {@link HintedHandoffStrategy} @@ -196,8 +191,7 @@ public boolean sendHintSerial(Node failedNode, Version version, Slop slop) { try { if(logger.isDebugEnabled()) - logger.debug("Slop attempt to write " - + ByteUtils.toHexString(slop.getKey().get()) + " (keyRef: " + logger.debug("Slop attempt to write " + slop.getKey() + " (keyRef: " + System.identityHashCode(slop.getKey()) + ") for " + failedNode + " to node " + node); @@ -220,9 +214,9 @@ public boolean sendHintSerial(Node failedNode, Version version, Slop slop) { } if(logger.isDebugEnabled()) - logger.debug("Slop write of key " + ByteUtils.toHexString(slop.getKey().get()) - + " (keyRef: " + System.identityHashCode(slop.getKey()) + " for " - + failedNode + " to node " + node + " succeeded in " + logger.debug("Slop write of key " + slop.getKey() + " (keyRef: " + + System.identityHashCode(slop.getKey()) + " for " + failedNode + + " to node " + node + " succeeded in " + (System.nanoTime() - startNs) + " ns"); } } diff --git a/src/java/voldemort/utils/ByteArray.java b/src/java/voldemort/utils/ByteArray.java index c6ccf86ada..71dc609b2d 100644 --- a/src/java/voldemort/utils/ByteArray.java +++ b/src/java/voldemort/utils/ByteArray.java @@ -1,7 +1,6 @@ package voldemort.utils; import java.io.Serializable; -import java.util.ArrayList; import java.util.Arrays; /** @@ -44,19 +43,6 @@ public String toString() { return Arrays.toString(underlying); } - /** - * Translate the each ByteArray in an iterable into a hexidecimal string - * - * @param arrays The array of bytes to translate - * @return An iterable of converted strings - */ - public static Iterable toHexStrings(Iterable arrays) { - ArrayList ret = new ArrayList(); - for(ByteArray array: arrays) - ret.add(ByteUtils.toHexString(array.get())); - return ret; - } - public int length() { return underlying.length; }