style(driver): 两 driver 运行期日志与异常文案中文化
纯文案改动,无逻辑变化;关键消费路径日志(毒消息 ACK/InProgress 留投/重试耗尽) 统一为中文口径,便于业务侧排查。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -79,7 +79,7 @@ public class RedisStreamMqDriver implements MqDriver {
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (!running) break;
|
||||
log.error("[mq-redis] loop error stream={} group={}", stream, group, e);
|
||||
log.error("[mq-redis] 消费轮询异常 stream={} group={}", stream, group, e);
|
||||
sleep(props.getBlockMs());
|
||||
}
|
||||
}
|
||||
@@ -92,7 +92,7 @@ public class RedisStreamMqDriver implements MqDriver {
|
||||
String json = MessageCodec.decodeBody(fields.get(StreamMessageConstant.F_ENC), fields.get(StreamMessageConstant.F_BODY));
|
||||
payload = JSON.parseObject(json, sub.getPayloadType());
|
||||
} catch (Exception poison) {
|
||||
log.error("[mq-redis] poison message acked, key={}", fields.get(StreamMessageConstant.F_KEY), poison);
|
||||
log.error("[mq-redis] 消息反序列化失败,按毒消息 ACK 丢弃 key={}", fields.get(StreamMessageConstant.F_KEY), poison);
|
||||
return true; // 毒消息直接 ACK,不卡队列
|
||||
}
|
||||
MqMessage msg = MqMessage.of(fields.get(StreamMessageConstant.F_KEY), fields.get(StreamMessageConstant.F_TAG), payload);
|
||||
@@ -102,10 +102,10 @@ public class RedisStreamMqDriver implements MqDriver {
|
||||
} catch (MqMessageInProgressException inProgress) {
|
||||
// 去重标记仍 processing(并发处理中/上次崩溃残留):不 ACK,留 PEL,
|
||||
// 待 processing 标记过期后由 reclaimPending 重新 acquire 并真正重投。
|
||||
log.debug("[mq-redis] in-progress, leave PEL key={}", msg.getKey());
|
||||
log.debug("[mq-redis] 消息仍在处理中,暂不 ACK、留 PEL 待重投 key={}", msg.getKey());
|
||||
return false;
|
||||
} catch (Exception e) {
|
||||
log.warn("[mq-redis] handle failed key={}, leave PEL for retry (max={})", msg.getKey(), maxRetry, e);
|
||||
log.warn("[mq-redis] 消费失败,留 PEL 待重投 key={} maxRetry={}", msg.getKey(), maxRetry, e);
|
||||
return false; // 留 PEL,由 reclaimPending 重投或落库
|
||||
}
|
||||
}
|
||||
@@ -142,11 +142,11 @@ public class RedisStreamMqDriver implements MqDriver {
|
||||
try {
|
||||
sub.getRetryExhaustedHandler().accept(buildMessage(sub, fields));
|
||||
} catch (Exception ex) {
|
||||
log.error("[mq-redis] retryExhausted handler error key={}", fields.get(StreamMessageConstant.F_KEY), ex);
|
||||
log.error("[mq-redis] 重试耗尽落库回调执行异常 key={}(不影响主流程)", fields.get(StreamMessageConstant.F_KEY), ex);
|
||||
}
|
||||
}
|
||||
redis.opsForStream().acknowledge(stream, group, rec.getId());
|
||||
log.warn("[mq-redis] retry exhausted, acked key={} delivery={}", fields.get(StreamMessageConstant.F_KEY), deliveryCount);
|
||||
log.warn("[mq-redis] 重试耗尽,已 ACK 终止 key={} delivery={}", fields.get(StreamMessageConstant.F_KEY), deliveryCount);
|
||||
} else {
|
||||
boolean ack = dispatch(sub, fields, maxRetry);
|
||||
if (ack) redis.opsForStream().acknowledge(stream, group, rec.getId());
|
||||
|
||||
Reference in New Issue
Block a user