08 April 2011
This post is about a critical problem that I'm having with MarketCircle's Daylite product, and is mainly written for Google, so that other people who may have similar problems in the future will hopefully find a solution here.
Background I have MarketCircle's Daylite running locally on my MacBook (running OS 10.6.7), exclusively using an offline database. Nearly every day, I add information to this database, primarily from Mail.app via MarketCircle's "Daylite Mail Integration" (DMI) plugin for Mail.
At home, I run Daylite Server on a Mac mini. Daylite, on the MacBook, synchronizes with this server over the local network when I'm at home, and over the internet when I'm in the office. Years ago, one had to periodically initiate this sync manually; but somewhere along the way, Daylite released an update so that offline databases would automatically keep themselves in sync with Daylite Server.
This setup has been working fine for me, for years.
Upgrading to Daylite 3.14 About a month ago, I was notified that an upgrade was available for both Daylite and the Server — to version 3.14. (I was previously running 3.13.) As required by the installer, I first went "online" with Daylite on the MacBook, prior to upgrading either the Server or Client.
After upgrading, I went "offline" again with Daylite on the MacBook (the Client), and (if I recall) was told that a new offline DB would be created since my existing one had been "reset".
That went fine, and I've been using my offline database on Daylite on the MacBook now for well over a month, adding new information, and updating existing information, almost daily.
The problem Today, I connected to the mini with Screen Sharing, to have a check on the status of things in the Server. To my horror, I noticed that Daylite Server didn't show any offline database present for my MacBook, which would indicate that Daylite has NOT been successfully syncing its offline database to the server during the past month.
I tried to manually "Go Online," and received this error:
Investigations I inspected the logs on both the local client, and the server:
LOCAL: Offline Client.log contains this, which doesn't show any errors at all:
2011-04-08 08:18:29.416 DLOfflineSyncClient[64941:207] @}->-- Daylite database sync starting. -- Daylite database sync finished. <
LOCAL: generateConsoleOutput.log contains something that does look like an error:
Fri Apr 8 10:42:20 MacBook Daylite : offline document received offline sync error
Fri Apr 8 10:42:20 MacBook Daylite : ERR: Offline sync failure - code 0
SERVER: Looking on the Server, at the "Server Logs", I see precisely two entries:
2011-04-07 23:23:24 +0200 DLServer - Interrupted by exception (may have lost connection): '*** -[NSConcreteData initWithBytes:length:copy:freeWhenDone:bytesAreVM:]: absurd length: 4294967295, maximum size: 2147483648 bytes'.
2011-04-07 23:23:23 +0200 DTSLocalSync - Timed out waiting for auth that didn't come (user 'mhenders').
Current situation The current situation is that I'm stuck, and have nearly a month's worth of updates in a local offline database, for which there is apparently no server counterpart.
This is a terribly concerning situation. During some previous Daylite update, I found myself in this same situation and was told in the Daylite forums that there is unfortunately no way to restore a server online database from an client offline database.
In that situation, I had to manually reconstruct the additions/modifications to the offline database in a new offline database — time consuming, and error prone. Fortunately, I had caught the problem early; not so this time. This time, I've got more than a month of new data in this offline database. Manual reconstruction would be impossible.
Complaints I have some serious concerns about this situation:
First, why on earth hasn't Daylite alerted me during the past month, that its attempts to synchronize with the Server have been failing? This has now happened twice to me. Given that it is possible for an offline database to get out of sync with the server, why doesn't MarketCircle offer some means to restore a server from an offline. A long time complaint I've had with MarketCircle, is the feedback that their products give the user. Look at that first error message above: "Check the logs." Well, how about telling me where the logs are? It was really difficult to find them. "Check with your database administrator." As a single user, running both Client and Server, am I really in such a minority that the application can assume that everone has a "database administrator" around? I wrote up a detailed post for the MarketCircle forum, but apparently I used a "trigger word," and the post has gone into "moderation," saying no more than "If or when we accept the post, we'll let you know."
I've also opened a ticket with MarketCircle support (#69102), and have my fingers crossed that they can help.
I'll update this post, as things progress.
Update 2011-04-08 — Problem Solved After raising a ticket in the support area of the MarketCircle site, I tweeted a plea for help message to Matthew (@metroing), who replied that someone from tech support at MarketCircle would contact me.
Aaron from tech support contacted me asking for screenshots and log files, after which he determined that for some unknown reason, the server offline had gotten deleted. The only solution would be for him to connect (via a screensharing tool) to both the server and my client Mac.
We agreed on a time, he connected and an hour later I was back up and running. That's great support. I remain an enthusiastic, happy MarketCircle customer.
Although Daylite doesn't flag the user when sync errors occur, Aaron pointed me to the green light in the bottom right corner of the screen, that will turn red when sync problems happen, so at least I have a quick way to determine (at an early stage) if these problems ever happen again.