[horde] Kronolith events not visible after H4 upgrade

Poyner, Brandon bpoyner at ccac.edu
Wed May 25 19:00:32 UTC 2011


I'm having a problem with Kronolith after attempting a H3 to H4 upgrade.  The events in each user's default calendar are no longer visible.  

 H3 system : Horde 3.3.11 & Kronolith 2.3.5
 H4 system: Horde 4.0.3 & Kronolith 3.0.3

The H3 and H4 systems are both using mysql for storing all horde preferences and calendar data.  

The method I'm using for upgrading is to dump the Horde database on the H3 system and then import the database into the H4 server, followed by running the db migrates:  

  # mysql -u root -p horde < /tmp/mysql.horde
  # horde-db-migrate
  # horde-db-migrate kronolith

The 'horde-db-migrate kronolith' command does complete, with a bunch of notifications from KronolithUpgradeCategoriesToTags about not being able to 'find Share's:

  Migrating to KronolithUpgradeCategoriesToTags (18)
  == 18 KronolithUpgradeCategoriesToTags: migrating =============================
  == 18 KronolithUpgradeCategoriesToTags: Migrating event categories to tags. ===
  -- select(SELECT event_uid, event_category, event_creator_id, calendar_id FROM kronolith_events)
     -> 0.0150s
  -- getOption(charset)
     -> 0.0000s
  == 18 KronolithUpgradeCategoriesToTags: Unable to find Share: user at acd.ccac.edu Skipping.
  -- getOption(charset)
     -> 0.0000s
  == 18 KronolithUpgradeCategoriesToTags: Unable to find Share: user at acd.ccac.edu Skipping.
  -- getOption(charset)
     -> 0.0000s
  ...

I turned on mysql query logging and see that Kronolith is attempting to search for a calendar_id that looks like a hash string, while the calendar_id in the mysql table remains the user's email address.  This seems similar to a problem Simon Brereton reported except that I'm not using datatree.  I was unable to resolve my problem from examining Simon's situation, except to note that his hack:

   update kronolith_shares set share_name = share_owner

did seem to make the data reappear but only after re-enabling the default calendar.  I'm not confident this is a proper solution either.

Actual SQL query from Kronolith: 

SELECT event_id, event_uid, event_description, event_location, event_private, event_status, event_attendees, event_title, event_recurcount, event_url, event_recurtype, event_recurenddate, event_recurinterval, event_recurdays, event_start, event_end, event_allday, event_alarm, event_alarm_methods, event_modified, event_exceptions, event_creator_id, event_resources, event_baseid, event_exceptionoriginaldate FROM kronolith_events WHERE calendar_id = 'db0jWJLXzNdN3RmhlyiiiVA' AND ((event_end >= '2011-05-01 00:00:00' AND event_start <= '2011-06-05 23:59:59') OR (event_recurenddate >= '2011-05-01 00:00:00' AND event_start <= '2011-06-05 23:59:59' AND event_recurtype <> 0))

Actual mysql data post upgrade:

$ grep -E 'db0jWJLXzNdN3RmhlyiiiVA|testmail at acd' /tmp/mysql.horde | grep -i kronolith

INSERT INTO `horde_histories` VALUES (33807,'kronolith:testmail at acd.ccac.edu:20100409141014.19584ke7v0aq852c at testwebmail.acd.ccac.edu','add',1270836614,NULL,'testmail at acd.ccac.edu',NULL);
INSERT INTO `horde_histories` VALUES (148051,'kronolith:testmail at acd.ccac.edu:20110520092507.20105favdf27qo4k at webmail.acd.ccac.edu','add',1305897907,NULL,'testmail at acd.ccac.edu',NULL);
INSERT INTO `horde_histories` VALUES (148050,'kronolith:testmail at acd.ccac.edu:20110520092435.218019ksufprj4b8 at webmail.acd.ccac.edu','add',1305897875,NULL,'testmail at acd.ccac.edu',NULL);
INSERT INTO `horde_histories` VALUES (148125,'kronolith:testmail at acd.ccac.edu:20110520140147.57441qngeth4ah0k at webmail.acd.ccac.edu','add',1305914507,NULL,'testmail at acd.ccac.edu',NULL);
INSERT INTO `horde_histories` VALUES (148739,'kronolith:testmail at acd.ccac.edu:20110523134926.890656macrztc204 at webmail.acd.ccac.edu','add',1306172966,NULL,'testmail at acd.ccac.edu',NULL);
INSERT INTO `horde_histories` VALUES (148740,'kronolith:testmail at acd.ccac.edu:20110523134958.92934e00p3zf5myo at webmail.acd.ccac.edu','add',1306172998,NULL,'testmail at acd.ccac.edu',NULL);
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','kronolith','display_remote_cals','a:0:{}');
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','kronolith','display_external_cals','a:0:{}');
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','kronolith','last_kronolith_maintenance','1306262394');
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','kronolith','display_cals','a:1:{i:0;s:23:\"db0jWJLXzNdN3RmhlyiiiVA\";}');
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','kronolith','show_panel','0');
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','horde','last_logintasks','a:4:{s:3:\"imp\";i:1306268015;s:5:\"horde\";i:1306268015;s:9:\"kronolith\";i:1306263322;s:5:\"turba\";i:1306335677;}');
INSERT INTO `horde_prefs` VALUES ('testmail at acd.ccac.edu','horde','upgrade_tasks','a:5:{s:3:\"imp\";s:5:\"5.0.3\";s:8:\"imp_auth\";s:5:\"5.0.3\";s:9:\"kronolith\";s:5:\"3.0.3\";s:5:\"horde\";s:5:\"4.0.3\";s:5:\"turba\";s:5:\"3.0.2\";}');
INSERT INTO `kronolith_events` VALUES ('1035','testmail at acd.ccac.edu','','','','','Move boxes','0',NULL,NULL,NULL,'2004-09-15 12:00:00','2004-09-15 13:00:00',0,1095172769,'','',0,NULL,0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('4407','testmail at acd.ccac.edu','','test','','','test','0',NULL,NULL,NULL,'2007-11-14 00:00:00','2007-11-14 01:00:00',0,1195076109,'','',0,NULL,0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('7529','testmail at acd.ccac.edu','','','','','test','0',NULL,NULL,NULL,'2009-10-07 00:00:00','2009-10-07 01:00:00',0,1254943896,'20100106113348.15655zpf7xblc680 at webmail.acd.ccac.edu','',0,NULL,0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('cc87ef265a61b369ac98b185da582edc','testmail at acd.ccac.edu','','','',NULL,'test event','0',NULL,NULL,NULL,'2010-04-16 06:00:00','2010-04-16 07:00:00',0,1270836614,'20100409141014.19584ke7v0aq852c at testwebmail.acd.ccac.edu','testmail at acd.ccac.edu',2,'a:0:{}',0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('86d07a17a2a38ec30c58d9eb4c90a180','testmail at acd.ccac.edu','','','',NULL,'test for may 20th at 6AM','0',NULL,NULL,NULL,'2011-05-20 06:00:00','2011-05-20 07:00:00',0,1305897874,'20110520092435.218019ksufprj4b8 at webmail.acd.ccac.edu','testmail at acd.ccac.edu',2,'a:0:{}',0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('9e6b8bbde5dced72ad6a69a1e6770309','testmail at acd.ccac.edu','','','',NULL,'test for may 5th at 7PM','0',NULL,NULL,NULL,'2011-05-05 19:00:00','2011-05-05 20:00:00',0,1305897907,'20110520092507.20105favdf27qo4k at webmail.acd.ccac.edu','testmail at acd.ccac.edu',2,'a:0:{}',0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('6a9f7763c34ee87e0d01055be35dd8b1','testmail at acd.ccac.edu','','','',NULL,'10PM Event n the 30th','0',NULL,NULL,NULL,'2011-05-30 22:00:00','2011-05-30 23:00:00',0,1305914507,'20110520140147.57441qngeth4ah0k at webmail.acd.ccac.edu','testmail at acd.ccac.edu',4,'a:0:{}',0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('0eb831ce242c94a5468a4942f8a0dbaa','testmail at acd.ccac.edu','','','',NULL,'Back in January','0',NULL,NULL,NULL,'2011-01-23 06:00:00','2011-01-23 07:00:00',0,1306172966,'20110523134926.890656macrztc204 at webmail.acd.ccac.edu','testmail at acd.ccac.edu',1,'a:0:{}',0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_events` VALUES ('1c5d599c8d2323ad1c71aaba84cc493b','testmail at acd.ccac.edu','','test','',NULL,'July 21st','0',NULL,NULL,NULL,'2011-07-21 13:00:00','2011-07-21 14:00:00',0,1306172998,'20110523134958.92934e00p3zf5myo at webmail.acd.ccac.edu','testmail at acd.ccac.edu',2,'a:0:{}',0,NULL,0,NULL,NULL,'',NULL,NULL);
INSERT INTO `kronolith_shares` VALUES (1,'db0jWJLXzNdN3RmhlyiiiVA','testmail at acd.ccac.edu',0,0,0,0,'Calendar of Test User',NULL,NULL,NULL);

Any ideas why this migration didn't work right?

Thanks,

Brandon Poyner
Network Engineer III
CCAC - College Office



More information about the horde mailing list