RocketMQ消费失败

问题遇到的现象和发生背景

当消费 msgs 数组时, 处理其中一条消息报错。如果返回ConsumeOrderlyStatus.RECONSUME_LATER, 那么数组其它的消息怎办?都被retry吗?

假如,msgs有3条消息, 处理第1条成功,第2条时,失败了,返回了RECONSUME_LATER。
那么问题来了, 问题1) 3条消息都重试,那么第1条已经处理过了,(例如已入库, 要作幂等性控制?) 问题2)第3条 会被错杀? 问题3, 第3条重试时,也许再次被错杀

问题相关代码,请勿粘贴截图
   consumer.registerMessageListener(new MessageListenerOrderly() {

       Random random = new Random();

       @Override
       public ConsumeOrderlyStatus consumeMessage(List<MessageExt> msgs, ConsumeOrderlyContext context) {
           context.setAutoCommit(true);
           for (MessageExt msg : msgs) {
               try {
                   //模拟业务逻辑处理中...
               TimeUnit.SECONDS.sleep(random.nextInt(10));
               } catch (Exception e) {
                   e.printStackTrace();
                    return ConsumeOrderlyStatus.RECONSUME_LATER;
               }
           }

           return ConsumeOrderlyStatus.SUCCESS;
       }
   });
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果