From 940633b388871c54fc3cd305d1f46ef28d8e281c Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Thu, 14 Jun 2018 09:21:57 -0400 Subject: [PATCH] Spymemcached: Make abstract method in CompletionListener --- .../spymemcached/CompletionListener.java | 6 ++---- .../spymemcached/SyncCompletionListener.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java index f14ce9505f..ec0a314846 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/CompletionListener.java @@ -98,10 +98,8 @@ public abstract class CompletionListener { scope.close(); } - protected void processResult(Span span, T future) - throws ExecutionException, InterruptedException { - throw new UnsupportedOperationException("processResult was not implemented"); - } + protected abstract void processResult(Span span, T future) + throws ExecutionException, InterruptedException; protected void setResultTag(Span span, boolean hit) { span.setTag(MEMCACHED_RESULT, hit ? HIT : MISS); diff --git a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java index a3fe5711c5..514ff49ae3 100644 --- a/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java +++ b/dd-java-agent/instrumentation/spymemcached-2.12/src/main/java/datadog/trace/instrumentation/spymemcached/SyncCompletionListener.java @@ -1,12 +1,22 @@ package datadog.trace.instrumentation.spymemcached; +import io.opentracing.Span; import io.opentracing.Tracer; +import java.util.concurrent.ExecutionException; +import lombok.extern.slf4j.Slf4j; +@Slf4j public class SyncCompletionListener extends CompletionListener { public SyncCompletionListener(Tracer tracer, String methodName) { super(tracer, methodName, false); } + @Override + protected void processResult(Span span, Void future) + throws ExecutionException, InterruptedException { + log.error("processResult was called on SyncCompletionListener. This should never happen. "); + } + public void done(Throwable thrown) { closeSyncSpan(thrown); }