[Asterisk-Users] MySQL replication for voicemail

Noah Miller noahisaacmiller at gmail.com
Mon May 8 06:47:25 MST 2006


Hi -

We've got a number of offices, and they're all using ODBC message
storage using MySQL.  I've been trying to get MySQL replication set up
so messages left in a voicemail box at one office will get copied to
the corresponding voicemail box at all the offices.

We're also using MySQL replication for the voicemail user info, and
that part works just fine.  I'd like to actually copy the voice
messages themselves, too, but I've encountered an error that I can't
seem to get past.  I've asked on the MySQL replication forums, but no
one has responded.  When I do a "LOAD DATA FROM MASTER" the error I
get is:

ERROR 1187 (HY000): Failed rebuilding the index of  dumped table 'voicemessages'

The MySQL error log shows this:

060508  9:36:48 [ERROR] Delete link points outside datafile at 73504
060508  9:36:48 [Note] Retrying repair of: './asterisk/voicemessages' with keyc$
060508  9:36:48 [ERROR] Delete link points outside datafile at 73504
060508  9:36:48 [ERROR] Found block that points outside data file at 73584
060508  9:36:48 [ERROR] Found block that points outside data file at 73624
060508  9:36:48 [ERROR] Found block that points outside data file at 73772
060508  9:36:48 [ERROR] Found block that points outside data file at 74504
060508  9:36:48 [ERROR] Found block that points outside data file at 74664
060508  9:36:48 [ERROR] Found block that points outside data file at 74852
060508  9:36:48 [ERROR] Not enough memory for blob at 74884 (need 1612498357)


I'm using the standard table description from the wiki:

CREATE TABLE `voicemessages` (
 `id` int(11) NOT NULL auto_increment,
 `msgnum` int(11) NOT NULL default '0',
 `dir` varchar(80) default '',
 `context` varchar(80) default '',
 `macrocontext` varchar(80) default '',
 `callerid` varchar(40) default '',
 `origtime` varchar(40) default '',
 `duration` varchar(20) default '',
 `mailboxuser` varchar(80) default '',
 `mailboxcontext` varchar(80) default '',
 `recording` longblob,
 PRIMARY KEY  (`id`),
 KEY `dir` (`dir`)
) ENGINE=MyISAM;


Does anybody have any ideas on what's causing this error?  Why would
MySQL not have enough memory?  What does it mean, "points outside data
file"?  Is anybody else doing this successfully, or am I a lone freak?

Any assistance is greatly appreciated.

Thanks,
Noah



More information about the asterisk-users mailing list