Object with that ID already exists
Problem
LMTP rejecting messages with the exception "object with that id already exists".
Description
This issue rarely occurs when checkpoint (MySQL DB) value not updating. When this issue occurred, /opt/zimbra/log/mailbox.log
will be logged with similar lines.
[LmtpServer-xxx] [name=affected.user@example.com;mid=xxx;ip=xxx.xxx.xxx.xxx;] lmtp - rejecting message from=sender@example.com,to=affected.user@example.com com.zimbra.cs.mailbox.MailServiceException: object with that id already exists: 159560 ExceptionId:LmtpServer-xxx:1645554762772:c850cab6de85e27d Code:mail.ALREADY_EXISTS Arg:(itemId, IID, "159560") . . Caused by: java.sql.SQLIntegrityConstraintViolationException: (conn=20) Duplicate entry '2447-159560' for key 'PRIMARY'
Whenever a message sent/received, item_id_checkpoint will be increased to +1 and this will be the message id of that newly created message.
Example: Current item_id_checkpoint is 368, and if a user receives a new message then item_id_checkpoint will increase to +1 (369) and message id for the new message also will be 369.