Jonathan,
The problem is that you are taking a dump of a backend that has not been
properly initialized (that's why its checkpoint in <unknown>).
If you look at the initialization procedure
(http://sequoia.continuent.org/doc/infocenter/index.jsp?topic=/org.continuent.sequoia.doc/html/Activate_the_database_backend_s_of_the_first_controller.html)
you probably missed step 5 (initialize command). You should reissue
that command (intialize DB1) before taking the dump and restoring it to
other backends. That should solve the issue.
Hope this helps,
Emmanuel
Thanks for your response. The databases were created from an initial
'skeleton' which has some data already. I imported the database into
mysql and then setup sequoia. Just to get more information, I
reinitialized the backends, did a backup of DB1 and enabled it, same
with DB2. below is a list of the recovery database values. Also the
process used to create the initial dump. (I purged the old dumps out to
start clean once again). I am noticing the last known checkpoint is
<unknown>. I can only imagine I'm doing something wrong with the backup
process. Due to limited resources I have both DB1_iasdsydb and
DB2_iasdsydb on the same machine, if this is the problem I'll find
another machine to put the second database on.
SQA_VIASDSYDB(root) > backup DB1 initial_dump BKUP_SQA_IASDSYDB /root/
Backend login for backup process > root
Backend password for backup process >
Backup backend DB1 in dump file initial_dump
SQA_VIASDSYDB(root) > enable DB1
Enabling backend DB1 from its last known checkpoint
SQA_VIASDSYDB(root) > show backend DB1
+--------------------------+--------------------------------------------
--+
| Backend Name | DB1
|
| Driver | com.mysql.jdbc.Driver
|
| URL |
jdbc:mysql://192.168.61.14:3306/DB1_iasdsydb |
| Active transactions | 0
|
| Pending Requests | 0
|
| Read Enabled | true
|
| Write Enabled | true
|
| Is Initialized | true
|
| Static Schema | false
|
| Connection Managers | 1
|
| Total Active Connections | 10
|
| Persistent Connections | 0
|
| Total Requests | 0
|
| Total Transactions | 0
|
| Last known checkpoint | <unknown>
|
+--------------------------+--------------------------------------------
--+
SQA_VIASDSYDB(root) > restore backend DB2 initial_dump
Backend login for restore process > root
Backend password for restore process >
Restoring backend DB2 with dump initial_dump
SQA_VIASDSYDB(root) > enable DB2
Enabling backend DB2 from its last known checkpoint
SQA_VIASDSYDB(root) > show backend *
+--------------------------+--------------------------------------------
--+
| Backend Name | DB1
|
| Driver | com.mysql.jdbc.Driver
|
| URL |
jdbc:mysql://192.168.61.14:3306/DB1_iasdsydb |
| Active transactions | 0
|
| Pending Requests | 0
|
| Read Enabled | true
|
| Write Enabled | true
|
| Is Initialized | true
|
| Static Schema | false
|
| Connection Managers | 1
|
| Total Active Connections | 5
|
| Persistent Connections | 0
|
| Total Requests | 0
|
| Total Transactions | 0
|
| Last known checkpoint | <unknown>
|
+--------------------------+--------------------------------------------
--+
| Backend Name | DB2
|
| Driver | com.mysql.jdbc.Driver
|
| URL |
jdbc:mysql://192.168.61.14:3306/DB2_iasdsydb |
| Active transactions | 0
|
| Pending Requests | 0
|
| Read Enabled | true
|
| Write Enabled | true
|
| Is Initialized | true
|
| Static Schema | false
|
| Connection Managers | 1
|
| Total Active Connections | 10
|
| Persistent Connections | 0
|
| Total Requests | 0
|
| Total Transactions | 0
|
| Last known checkpoint | <unknown>
|
+--------------------------+--------------------------------------------
--+
mysql> use SQA_IASDSYDB_RECOVERY
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------------+
| Tables_in_SQA_IASDSYDB_RECOVERY |
+---------------------------------+
| BACKEND |
| CHECKPOINT |
| DUMP |
| RECOVERY |
+---------------------------------+
4 rows in set (0.00 sec)
mysql> select * from BACKEND;
+---------------+--------------+---------------+-----------------+
| database_name | backend_name | backend_state | checkpoint_name |
+---------------+--------------+---------------+-----------------+
| SQA_VIASDSYDB | DB1 | 1 | |
| SQA_VIASDSYDB | DB2 | 1 | |
+---------------+--------------+---------------+-----------------+
2 rows in set (0.00 sec)
mysql> select * from CHECKPOINT
-> ;
+----------------------------+--------+
| name | log_id |
+----------------------------+--------+
| Initial_empty_recovery_log | 0 |
+----------------------------+--------+
1 row in set (0.00 sec)
mysql> select * from DUMP;
+--------------+---------------------+-----------+----------------+-----
-----------------------+--------------+--------+
| dump_name | dump_date | dump_path | dump_format |
checkpoint_name | backend_name | tables |
+--------------+---------------------+-----------+----------------+-----
-----------------------+--------------+--------+
| initial_dump | 2008-02-27 07:47:15 | /root/ | MySQL raw dump |
Initial_empty_recovery_log | DB1 | * |
+--------------+---------------------+-----------+----------------+-----
-----------------------+--------------+--------+
1 row in set (0.00 sec)
mysql> select * from RECOVERY;
Empty set (0.00 sec)
Mysql>
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Emmanuel Cecchet
Sent: Wednesday, February 27, 2008 5:34 AM
To: Sequoia general mailing list
Subject: Re: [Sequoia] a point in the right direction
Jonathan,
I am testing sequoia in a raidb-1 configuration with mysql. We have a
couple of databases and in which I have had to set in /etc/my.cnf a
variable in which I think is causing the following error. Right now I
have only one controller, but I plan on having 2 controllers and two
databases
max_allowed_packet=32M is set in our my.cnf.
If the queries were originally executed with that value, there should
not be any issue to replay with that value.
now when implementing sequoia
SQA_VIASDSYDB(root) > restore backend DB1 initial_dump
Backend login for restore process > root
Backend password for restore process >
Restoring backend DB1 with dump initial_dump
Which backuper are you using?
This seems to be fine, however when I enable the backend I get this
error:
SQA_VIASDSYDB(root) > enable DB1
Enabling backend DB1 from its last known checkpoint
Virtual database SQA_VIASDSYDB failed to enable database backend DB1
from checkpoint (because of : java.sql.SQLException: Unable to get
checkpoint from recovery log.)
Did I miss something?
There is probably a problem with the way you generated the dump. When
you did the backup operation, it was associated to a checkpoint
corresponding to the backend state at that time. It looks like this
checkpoint does not exist anymore in your recovery log for some reason
(initialize command, recovery log resynchronization, purge log...).
You should recreate a valid dump with a proper checkpoint. There are
various command to list dumps and checkpoints in the recovery log if you
want to check manually.
If there is any where to get an ideal
configuration for jboss servers connecting to a raidb-1 mysql
controller
that would be even better. I'm worried that this import is failing
due
to some blobs of data that require this max_allowed_packet
If max_allowed_packet was an issue, I guess the problem would also
happen at backup time, not only restore.
Keep us posted with your progress,
Emmanuel
--
Emmanuel Cecchet - Research scientist
EPFL - LABOS/DSLAB - IN.N 317
Phone: +41-21-693-7558
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia