Skip to content

Commit 506c3d9

Browse files
committed
HBASE-26124 Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2
1/17 commits of HBASE-22120
1 parent 20a4aae commit 506c3d9

File tree

43 files changed

+359
-887
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+359
-887
lines changed

hbase-asyncfs/src/test/java/org/apache/hadoop/hbase/io/asyncfs/AsyncFSTestBase.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@
1919

2020
import java.io.File;
2121
import java.io.IOException;
22-
2322
import org.apache.hadoop.conf.Configuration;
2423
import org.apache.hadoop.fs.Path;
2524
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
26-
import org.apache.hadoop.hbase.trace.TraceUtil;
2725
import org.apache.hadoop.hdfs.MiniDFSCluster;
2826
import org.slf4j.Logger;
2927
import org.slf4j.LoggerFactory;
@@ -104,7 +102,6 @@ protected static void startMiniDFSCluster(int servers) throws IOException {
104102
org.apache.log4j.Logger.getLogger(org.apache.hadoop.metrics2.impl.MetricsSystemImpl.class)
105103
.setLevel(org.apache.log4j.Level.ERROR);
106104

107-
TraceUtil.initTracer(conf);
108105
CLUSTER = new MiniDFSCluster.Builder(conf).numDataNodes(servers).build();
109106
CLUSTER.waitClusterUp();
110107
}

hbase-client/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@
145145
<artifactId>zookeeper</artifactId>
146146
</dependency>
147147
<dependency>
148-
<groupId>org.apache.htrace</groupId>
149-
<artifactId>htrace-core4</artifactId>
148+
<groupId>io.opentelemetry</groupId>
149+
<artifactId>opentelemetry-api</artifactId>
150150
</dependency>
151151
<dependency>
152152
<groupId>org.jruby.jcodings</groupId>

hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package org.apache.hadoop.hbase.client;
2121

22+
import io.opentelemetry.api.trace.Tracer;
2223
import java.io.IOException;
2324
import java.io.InterruptedIOException;
2425
import java.util.ArrayList;
@@ -49,7 +50,6 @@
4950
import org.apache.hadoop.hbase.trace.TraceUtil;
5051
import org.apache.hadoop.hbase.util.Bytes;
5152
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
52-
import org.apache.htrace.core.Tracer;
5353
import org.apache.yetus.audience.InterfaceAudience;
5454
import org.slf4j.Logger;
5555
import org.slf4j.LoggerFactory;
@@ -572,13 +572,9 @@ private Collection<? extends Runnable> getNewMultiActionRunnable(ServerName serv
572572
asyncProcess.incTaskCounters(multiAction.getRegions(), server);
573573
SingleServerRequestRunnable runnable = createSingleServerRequest(
574574
multiAction, numAttempt, server, callsInProgress);
575-
Tracer tracer = Tracer.curThreadTracer();
576575

577-
if (tracer == null) {
578-
return Collections.singletonList(runnable);
579-
} else {
580-
return Collections.singletonList(tracer.wrap(runnable, "AsyncProcess.sendMultiAction"));
581-
}
576+
// remove trace for runnable because HBASE-25373 and OpenTelemetry do not cover TraceRunnable
577+
return Collections.singletonList(runnable);
582578
}
583579

584580
// group the actions by the amount of delay
@@ -598,12 +594,10 @@ private Collection<? extends Runnable> getNewMultiActionRunnable(ServerName serv
598594
List<Runnable> toReturn = new ArrayList<>(actions.size());
599595
for (DelayingRunner runner : actions.values()) {
600596
asyncProcess.incTaskCounters(runner.getActions().getRegions(), server);
601-
String traceText = "AsyncProcess.sendMultiAction";
602597
Runnable runnable = createSingleServerRequest(runner.getActions(), numAttempt, server, callsInProgress);
603598
// use a delay runner only if we need to sleep for some time
604599
if (runner.getSleepTime() > 0) {
605600
runner.setRunner(runnable);
606-
traceText = "AsyncProcess.clientBackoff.sendMultiAction";
607601
runnable = runner;
608602
if (asyncProcess.connection.getConnectionMetrics() != null) {
609603
asyncProcess.connection.getConnectionMetrics()
@@ -614,7 +608,7 @@ private Collection<? extends Runnable> getNewMultiActionRunnable(ServerName serv
614608
asyncProcess.connection.getConnectionMetrics().incrNormalRunners();
615609
}
616610
}
617-
runnable = TraceUtil.wrap(runnable, traceText);
611+
// remove trace for runnable because HBASE-25373 and OpenTelemetry do not cover TraceRunnable
618612
toReturn.add(runnable);
619613

620614
}

hbase-client/src/main/java/org/apache/hadoop/hbase/client/ResultBoundedCompletionService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ public ResultBoundedCompletionService(
168168

169169
public void submit(RetryingCallable<V> task, int callTimeout, int id) {
170170
QueueingFuture<V> newFuture = new QueueingFuture<>(task, callTimeout, id);
171-
executor.execute(TraceUtil.wrap(newFuture, "ResultBoundedCompletionService.submit"));
171+
// remove trace for runnable because HBASE-25373 and OpenTelemetry do not cover TraceRunnable
172+
executor.execute(newFuture);
172173
tasks[id] = newFuture;
173174
}
174175

hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
import static org.apache.hadoop.hbase.ipc.IPCUtil.setCancelled;
2525
import static org.apache.hadoop.hbase.ipc.IPCUtil.write;
2626

27+
import io.opentelemetry.api.trace.Span;
28+
import io.opentelemetry.context.Context;
29+
import io.opentelemetry.context.Scope;
2730
import java.io.BufferedInputStream;
2831
import java.io.BufferedOutputStream;
2932
import java.io.DataInputStream;
@@ -62,7 +65,6 @@
6265
import org.apache.hadoop.net.NetUtils;
6366
import org.apache.hadoop.security.UserGroupInformation;
6467
import org.apache.hadoop.util.StringUtils;
65-
import org.apache.htrace.core.TraceScope;
6668
import org.apache.yetus.audience.InterfaceAudience;
6769
import org.slf4j.Logger;
6870
import org.slf4j.LoggerFactory;
@@ -593,9 +595,12 @@ private void negotiateCryptoAes(RPCProtos.CryptoCipherMeta cryptoCipherMeta)
593595
}
594596

595597
private void tracedWriteRequest(Call call) throws IOException {
596-
try (TraceScope ignored = TraceUtil.createTrace("RpcClientImpl.tracedWriteRequest",
597-
call.span)) {
598+
Span span = TraceUtil.getGlobalTracer().spanBuilder("RpcClientImpl.tracedWriteRequest")
599+
.setParent(Context.current().with(call.span)).startSpan();
600+
try (Scope scope = span.makeCurrent()) {
598601
writeRequest(call);
602+
} finally {
603+
span.end();
599604
}
600605
}
601606

hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/Call.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,21 @@
1717
*/
1818
package org.apache.hadoop.hbase.ipc;
1919

20+
import io.opentelemetry.api.trace.Span;
2021
import java.io.IOException;
2122
import java.util.Optional;
2223
import org.apache.commons.lang3.builder.ToStringBuilder;
2324
import org.apache.commons.lang3.builder.ToStringStyle;
2425
import org.apache.hadoop.hbase.CellScanner;
2526
import org.apache.hadoop.hbase.client.MetricsConnection;
2627
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
27-
import org.apache.htrace.core.Span;
28-
import org.apache.htrace.core.Tracer;
2928
import org.apache.yetus.audience.InterfaceAudience;
29+
3030
import org.apache.hbase.thirdparty.com.google.protobuf.Descriptors;
3131
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
3232
import org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback;
3333
import org.apache.hbase.thirdparty.io.netty.util.Timeout;
34+
3435
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
3536

3637
/** A call waiting for a value. */
@@ -73,7 +74,7 @@ protected Call(int id, final Descriptors.MethodDescriptor md, Message param,
7374
this.timeout = timeout;
7475
this.priority = priority;
7576
this.callback = callback;
76-
this.span = Tracer.getCurrentSpan();
77+
this.span = Span.current();
7778
}
7879

7980
/**

hbase-common/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,8 @@
192192
</dependency>
193193
<!-- tracing Dependencies -->
194194
<dependency>
195-
<groupId>org.apache.htrace</groupId>
196-
<artifactId>htrace-core4</artifactId>
195+
<groupId>io.opentelemetry</groupId>
196+
<artifactId>opentelemetry-api</artifactId>
197197
</dependency>
198198
<dependency>
199199
<groupId>org.apache.commons</groupId>

hbase-common/src/main/java/org/apache/hadoop/hbase/trace/HBaseHTraceConfiguration.java

Lines changed: 0 additions & 80 deletions
This file was deleted.

hbase-common/src/main/java/org/apache/hadoop/hbase/trace/SpanReceiverHost.java

Lines changed: 0 additions & 120 deletions
This file was deleted.

0 commit comments

Comments
 (0)