SQS消息不删除(SQS Messages Not Deleting)

2019-07-29 00:34发布

我有一个小集的SQS队列中的消息,即使发送到AWS端点的删除请求与200响应返回不会被删除的。 该消息是由我的应用程序精细加工,并删除发送请求也没关系。

我使用的Java SDK AWS 1.3.6。

有其他人遇到这个问题?

Answer 1:

糟糕-队列被意外设为defaultVisibilityTimeout=0 。 更改此为正值解决了这一问题。

这仍然引起了一些问题,但:

  1. 为什么会出现这种只影响一些消息? 也许有些需要较长的时间来处理?
  2. 为什么亚马逊返回删除200并没有被删除的消息时?
  3. 被删除失败,因为它落在了0秒窗口(在这种情况下,为什么任何删除请求成功吗?)之外,还是他们失败了,因为其他消费者已经由次地拿起收到删除请求?


Answer 2:

官方文件(版本1.9.13)

重要提示:这是可能的,你会收到您已删除即使它的消息。 这可能,如果当您请求删除的消息保存邮件的副本,其中一台服务器不可用,在罕见的情况发生。 副本保留在服务器上,并可能会在随后收到的请求再次退还给您。 您应该创建系统为幂等,以便接收特定的消息不止一次是没有问题的。



文章来源: SQS Messages Not Deleting