Lost with DB scheme - tried to solve NO_SUCH_ITEM

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

Hi
An IMAP Client tries to sync and throws some errors - there should be an message with the id 9095 inside the Draft folder.

Server side I get:
[QUOTE]com.zimbra.cs.mailbox.MailServiceException$NoSuchItemException: no such item: 9095

ExceptionId:ImapSSLServer-3972:1370925407688:bc81f6c6df758df0

Code:mail.NO_SUCH_ITEM Arg:(itemId, IID, "9095")

at com.zimbra.cs.mailbox.MailServiceException.NO_SUCH_ITEM(MailServiceException.java:163)

at com.zimbra.cs.mailbox.MailItem.noSuchItem(MailItem.java:1659)

at com.zimbra.cs.mailbox.Mailbox.getItemById(Mailbox.java:2697

...

[/QUOTE]
The corresponding mailbox is 45 - I've searched around in the DB for the corresponding entry:
[QUOTE]mysql> use mboxgroup45;

Database changed

mysql> SELECT * FROM mail_item where id = 9095;

Empty set (0.01 sec)

mysql>

[/QUOTE]
I also tried to find out which folder id the Draft folder has - I recognized that the type=1 indicates folders:
[QUOTE]mysql> select id, name, flags, tags from mail_item where type=1;

+------+------------------+---------+------+

| id | name | flags | tags |

+------+------------------+---------+------+

| 1 | USER_ROOT | 0 | 0 |

| 2 | Inbox | 0 | 0 |

| 3 | Trash | 0 | 0 |

| 4 | Junk | 0 | 0 |

| 5 | Sent | 0 | 0 |

| 6 | Drafts | 0 | 0 |

| 7 | Contacts | 0 | 0 |

| 8 | Tags | 0 | 0 |

| 9 | Conversations | 0 | 0 |

| 10 | Calendar | 2097152 | 0 |

| 11 | ROOT | 0 | 0 |

| 12 | Notebook | 0 | 0 |

| 13 | Emailed Contacts | 0 | 0 |

| 14 | Chats | 0 | 0 |

| 15 | Tasks | 2097152 | 0 |

| 16 | Briefcase | 0 | 0 |

| 1714 | Notes | 524288 | 0 |

| 1749 | PW | 0 | 0 |

+------+------------------+---------+------+

18 rows in set (0.01 sec)

[/QUOTE]
So id 6 should be the Drafts folder - I tried to find out if the DB shows me any message inside this folder. I was not sure if parent_id or folder_id is the foreign key so I tried both:
[QUOTE]

So id 6 should mysql> SELECT * from mail_item WHERE folder_id=6;

Empty set (0.01 sec)
mysql> SELECT * from mail_item WHERE parent_id=6;

Empty set (0.01 sec)
mysql>

[/QUOTE]
I also did some queries in the tag tables but I was not able to find the corresponding item id 9095 anywhere.

Any hint on this?
bdial
Elite member
Elite member
Posts: 1633
Joined: Fri Sep 12, 2014 10:39 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by bdial »

maybe try reindexing? I think the error is consistent with your findings. NO_SUCH_ITEM means it can't find the mail item in the db, as opposed to NO_SUCH_BLOB where hte item exists in the db but not in the message store
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

Hi
Thanks for reply. Reindexing did not help. The Imap Folder still shows one entry and an error when opening or deleting the Mail.

Additionally a new error occurred during indexing:
[QUOTE]2013-06-12 10:38:16,106 WARN [ReIndex-5] [name=xxx@yyyy.com;mid=45;] index - Unable to generate index data for Message 9095. Item will not be indexed.

com.zimbra.cs.mailbox.MailServiceException: cannot modify immutable object: 9095

ExceptionId:ReIndex-5:1371026296106:bc81f6c6df758df0

Code:mail.IMMUTABLE_OBJECT Arg:(itemId, IID, "9095")

at com.zimbra.cs.mailbox.MailServiceException.IMMUTABLE_OBJECT(MailServiceException.java:426)

at com.zimbra.cs.mailbox.Mailbox.markItemModified(Mailbox.java:1338)

at com.zimbra.cs.mailbox.MailItem.markItemModified(MailItem.java:1754)

at com.zimbra.cs.mailbox.Message.reanalyze(Message.java:1291)

at com.zimbra.cs.mailbox.Mailbox.reanalyze(Mailbox.java:2185)

at com.zimbra.cs.mailbox.Message.generateIndexData(Message.java:1257)

at com.zimbra.cs.mailbox.MailboxIndex.indexItemList(MailboxIndex.java:736)

at com.zimbra.cs.mailbox.MailboxIndex.indexDeferredItems(MailboxIndex.java:373)

at com.zimbra.cs.mailbox.MailboxIndex.access$600(MailboxIndex.java:83)

at com.zimbra.cs.mailbox.MailboxIndex$ReIndexTask.reIndex(MailboxIndex.java:549)

at com.zimbra.cs.mailbox.MailboxIndex$ReIndexTask.exec(MailboxIndex.java:490)

at com.zimbra.cs.mailbox.MailboxIndex$IndexTask.run(MailboxIndex.java:1383)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

at java.util.concurrent.FutureTask.run(FutureTask.java:166)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:722)

[/QUOTE]


I am also not sure how many users are affected. So far it only happens in one specific folder. Maybe other users do have the same problem as soon as they try to open a specific folder.

Any further thoughts?
BR

J
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

ok. I found out that there is NO content for the Zimbra WebGUI and als zmmailbox tells me the same:
[QUOTE]mbox xxxx@yyyyyy.com> GetAllFolders

Id View Unread Msg Count Path

---------- ---- ---------- ---------- ----------

1 unkn 0 0 /

16 docu 0 1 /Briefcase

10 appo 0 3 /Calendar

14 mess 0 1 /Chats

7 cont 0 1 /Contacts

6 mess 0 0 /Drafts

13 cont 0 61 /Emailed Contacts

2 mess 1 2533 /Inbox

4 mess 0 0 /Junk

12 docu 0 0 /Notebook

1714 mess 0 0 /Notes

1749 mess 0 4 /PW

5 mess 0 754 /Sent

15 task 0 0 /Tasks

3 unkn 0 0 /Trash

[/QUOTE]
Drafts is really really empty ;)
So I completly removed the users Email Client inclusive all Settings (cloned the Inbox before) and reinstalled it again and now it works.

It seems some IMAP clients do have issues when a Zimbra installation was recovered after a crash due to some missing blobs etc.
BR
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

Damn - not solved. After a few minutes of syncing the "Drafts" Folder still shows one corrupt message.
I'd be happy to try other ideas ;)
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

[quote user="inqueue"]Which ZCS version? Can you check the dumpster table in mboxgroup45?
select * from mail_item_dumpster where id=9095G[/QUOTE]
ok - there it is ...
[QUOTE]mysql> select * from mail_item_dumpster where id=9095G

*************************** 1. row ***************************

mailbox_id: 45

id: 9095

type: 5

parent_id: NULL

folder_id: 3

index_id: 9095

imap_id: 9330

date: 1367882913

size: 10105

locator: 1

blob_digest: pMPjZzScfZbOgHFV0xl5lQPrnht18TCnyZfle0qF1Vk=

unread: 0

flags: 195

tags: 0

tag_names: NULL

sender: xxxxxxx

recipients: NULL

subject:

name: NULL

metadata:

mod_metadata: 328369

change_date: 1370854285

mod_content: 334689

uuid: NULL

1 row in set (0.00 sec)

[/QUOTE]
Can I just delete it?
BR
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

Btw - it's 8.03 OS.
I think I would need further info on how this DB tables are related to the IMAP / Webgui view.
I made a backup of the message ID 9095 in mail_item_dumpster and deleted it. Then I reindexed.

Now the error message (NO_SUCH_ITEM) is gone which is an improvement - also the syncing now works again.
The Drafts folder (IMAP as well as in the Web GUI) still shows 1 message and I can not delete it.

The webgui only shows the (1) next to the folder name - the folder itself is empty. The IMAP client "sees" the message itself but it is empty with no sender, date or any other metadata.
I even restarted all services but the "problem" still occurs.
juergenmw
Posts: 32
Joined: Fri Sep 12, 2014 11:38 pm

Lost with DB scheme - tried to solve NO_SUCH_ITEM

Post by juergenmw »

[quote user="inqueue"]Since you are seeing a phantom message in Drafts on the web UI, try putting the ZWC in debug mode for grabbing the message id. Append ?dev=1 to your server's URL in the address bar and load. In the debug window, you will see a series of SOAP requests and responses. Click the Drafts folder. This will trigger a SearchRequest and you will want to look over the output of the resulting SearchResponse. Feel free to send me the output privately if required.[/QUOTE]
ok, it seems there is an message with id 6482 in the response. When I debug my local IMAP Client it tells me the remote ID is 5311.

The mail_item_dumpster table is completly empty. Maybe it is related to the tagged_item somehow?
BR
Post Reply