Skip to content

Commit afbcce1

Browse files
committed
fix: bornTime missing in lite pop requests when broker ACL2.0 is enabled
1 parent 9ad4a1b commit afbcce1

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

broker/src/main/java/org/apache/rocketmq/broker/processor/PopLiteMessageProcessor.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
import java.util.HashSet;
6161
import java.util.Iterator;
6262
import java.util.List;
63-
import java.util.Objects;
6463
import java.util.Set;
6564
import java.util.concurrent.TimeUnit;
6665
import java.util.concurrent.atomic.AtomicLong;
@@ -106,15 +105,15 @@ public RemotingCommand processRequest(final ChannelHandlerContext ctx, RemotingC
106105

107106
final long beginTimeMills = brokerController.getMessageStore().now();
108107
Channel channel = ctx.channel();
109-
request.addExtFieldIfNotExist(BORN_TIME, String.valueOf(System.currentTimeMillis()));
110-
if (Objects.equals(request.getExtFields().get(BORN_TIME), "0")) {
111-
request.addExtField(BORN_TIME, String.valueOf(System.currentTimeMillis()));
112-
}
113108
RemotingCommand response = RemotingCommand.createResponseCommand(PopLiteMessageResponseHeader.class);
114109
response.setOpaque(request.getOpaque());
115110

116111
final PopLiteMessageRequestHeader requestHeader =
117112
request.decodeCommandCustomHeader(PopLiteMessageRequestHeader.class, true);
113+
if (requestHeader.getBornTime() == 0) {
114+
request.addExtField(BORN_TIME, String.valueOf(beginTimeMills));
115+
requestHeader.setBornTime(beginTimeMills);
116+
}
118117
final PopLiteMessageResponseHeader responseHeader = (PopLiteMessageResponseHeader) response.readCustomHeader();
119118
RemotingCommand preCheckResponse = preCheck(ctx, requestHeader, response);
120119
if (preCheckResponse != null) {

0 commit comments

Comments
 (0)