I tried to upgrade to 3.1.0 but it failed with a mysql error. I had made a copy of my /opt/zimbra install after the failed upgrade i removed zimbra and did a fresh install of 3.0.1 ( the same version i had been using before)
I copy the backed up files back into /opt/zimbra (after stopping zimbra ) and start zimbra back up. It starts fine. I can log in to the admin console fine as well. i can log in as a user , but when i do I get the following:
msg - system failure: missing blob for id: 2880, change: 3127
com.zimbra.cs.service.ServiceException: system failure: missing blob for id: 2880, change: 3127
at com.zimbra.cs.service.ServiceException.FAILURE(Ser viceException.java:131)
at com.zimbra.cs.mailbox.MailItem.getBlob(MailItem.ja va:669)
at com.zimbra.cs.mailbox.MessageCache.fetchFromStore( MessageCache.java:189)
at com.zimbra.cs.mailbox.MessageCache.getMimeMessage( MessageCache.java:154)
at com.zimbra.cs.mailbox.Message.getMimeMessage(Messa ge.java:280)
at com.zimbra.cs.service.mail.ToXML.encodeMessageAsMP (ToXML.java:477)
at com.zimbra.cs.service.mail.GetMsg.handle(GetMsg.ja va:84)
at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEng ine.java:255)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:163)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:84)
at com.zimbra.soap.SoapServlet.doPost(SoapServlet.jav a:228)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at com.zimbra.cs.servlet.ZimbraServlet.service(Zimbra Servlet.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.valves.AccessLogValve.invoke(A ccessLogValve.java:541)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
code - service.FAILURE
method - ZmCsfeCommand.prototype.invoke
detail - soap:Receiver
can someone PLEASE shed some light on this, I need to fix it fast.
This means the data on disk does not match the blobs (aka message bodies) on disk. Was Zimbra fully shutdown when you made your copy of /opt/zimbra? If not you may not have a consistent backup of the data.
zimbra was shutdown with zmcontrol shutdown prior to the copy
is there any way to resolve this?
You could try the restore again. Not really any other way to "resync" the data and blobs.
is there any other way to pull the messages out so they can be recovered?
You could use lmtpinject to reload the mail but that won't fix the database as it will be looking for the old mail id's. Did you try to re-restore that mailbox?
I just re-read your first post and noticed you didn't take a backup until AFTER the failed upgrade. In that case you likely have some data mismatch. Do you have a backup of the data BEFORE you started the upgrade?
I happen to have a lot of experence with destroying data ;)
Here's what I would do: BURN YOUR DAMAGED INSTALL TO A CD and get it out of the way...
Install that backup on a test machine and mess around.
Then try to install over it. I'm pretty sure it won't fix all of your problems, but I think you much be able to pull some messages.
If worse comes to worse, here's what you can do:
Your message store is stored in /opt/zimbra/db/data/(mailboxes)
Use the SSH FTp and pull the messages to a windows machine
Reload your zimbra server
setup IMAP folders on your windows machine for the account(s) you want to restore
Drag & drop the messages back into the folders.
It's messy, but I've had to do it once or five times. ;)
Kevin: that was a missing punctuation error: the backup was taken prior to the failed upgrade.
I also used a backup script that was posted in the forums here to turn each account to maintenance mode and do backups of the data store and mysql database for each account (and index ) , and I have a recent (within hours) backup using that procedure too, but restoring the message store files to the correct place, and the index to the correct place, and creating and importing the mailbox sql files don't seem to do anything either. Am I missing a critical step here?
using lmtpinject, can i inject mail from the backups into the correct accounts? even if it doesn't save the date on it it at least would save the actual emails, which is what is most important in this case.
I have two copies of backups using the backup script, and one whole directory copy of /opt/zimbra to work with.
In the meantime i've done a fresh install to allow for mail to flow for the next day or so while I figure this out.
Wannabe: I hope it doesn't come down to those measures, but I will keep them in mind, I appreciate the suggestions.
Wanna know a good way to institute a panic attack? hose your mail server :-)
'least I have backups to work with, so it's a matter of figuring out how to get the mail from them into the mail server now.
Ok makes more sense now. The only way we've tried with the OSS version it the full /opt/zimbra backup/restore. The posted script as you know was not written by Zimbra or tested. All our backups/restores of individual mailboxes is done with the backup/recovery tools we ship as part of the Network.