Skip to content

Commit afab36b

Browse files
authored
Merge pull request #1023 from mytang0/fix_patch_npe
[ISSUE #1022] Two NPE problems fixes for Tcp Protocol Resolver close #1022
2 parents 50a27fe + ecb9cfe commit afab36b

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

eventmesh-common/src/main/java/org/apache/eventmesh/common/config/CommonConfiguration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ public void init() {
9898
}
9999

100100
eventMeshServerTraceEnable = Boolean.parseBoolean(get(ConfKeys.KEYS_EVENTMESH_TRACE_ENABLED, () -> "false"));
101-
eventMeshTracePluginType = checkNotEmpty(ConfKeys.KEYS_EVENTMESH_TRACE_PLUGIN_TYPE);
101+
if (eventMeshServerTraceEnable) {
102+
eventMeshTracePluginType = checkNotEmpty(ConfKeys.KEYS_EVENTMESH_TRACE_PLUGIN_TYPE);
103+
}
102104
}
103105
}
104106

eventmesh-protocol-plugin/eventmesh-protocol-meshmessage/src/main/java/org/apache/eventmesh/protocol/meshmessage/resolver/tcp/TcpMessageProtocolResolver.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,19 @@ public static CloudEvent buildEvent(Header header, EventMeshMessage message) thr
7979
.withData(content.getBytes(StandardCharsets.UTF_8));
8080

8181
for (String propKey : header.getProperties().keySet()) {
82-
cloudEventBuilder.withExtension(propKey, header.getProperty(propKey).toString());
82+
try {
83+
cloudEventBuilder.withExtension(propKey, header.getProperty(propKey).toString());
84+
} catch (Exception e) {
85+
throw new ProtocolHandleException(String.format("Abnormal propKey: %s", propKey), e);
86+
}
8387
}
8488

8589
for (String propKey : message.getProperties().keySet()) {
86-
cloudEventBuilder.withExtension(propKey, message.getProperties().get(propKey));
90+
try {
91+
cloudEventBuilder.withExtension(propKey, message.getProperties().get(propKey));
92+
} catch (Exception e) {
93+
throw new ProtocolHandleException(String.format("Abnormal propKey: %s", propKey), e);
94+
}
8795
}
8896

8997
return cloudEventBuilder.build();

eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/core/protocol/tcp/client/task/MessageTransferTask.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.apache.eventmesh.protocol.api.ProtocolAdaptor;
3232
import org.apache.eventmesh.protocol.api.ProtocolPluginFactory;
3333
import org.apache.eventmesh.runtime.acl.Acl;
34-
import org.apache.eventmesh.runtime.boot.EventMeshServer;
3534
import org.apache.eventmesh.runtime.boot.EventMeshTCPServer;
3635
import org.apache.eventmesh.runtime.constants.EventMeshConstants;
3736
import org.apache.eventmesh.runtime.core.protocol.tcp.client.session.send.EventMeshTcpSendResult;
@@ -58,7 +57,6 @@
5857
import io.netty.channel.ChannelFutureListener;
5958
import io.netty.channel.ChannelHandlerContext;
6059
import io.opentelemetry.api.trace.Span;
61-
import io.opentelemetry.api.trace.SpanKind;
6260
import io.opentelemetry.context.Context;
6361

6462
public class MessageTransferTask extends AbstractTask {
@@ -181,7 +179,9 @@ public void operationComplete(ChannelFuture future) throws Exception {
181179
.getSeq()));
182180
Utils.writeAndFlush(msg, startTime, taskExecuteTime, session.getContext(), session);
183181

184-
TraceUtils.finishSpanWithException(ctx, event, "MessageTransferTask failed", e);
182+
if (event != null) {
183+
TraceUtils.finishSpanWithException(ctx, event, "MessageTransferTask failed", e);
184+
}
185185
}
186186
}
187187
}

0 commit comments

Comments
 (0)