Silent failure when trying to use drizzledump on MySQL

Bug #669659 reported by Patrick Crews
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Fix Released
High
Andrew Hutchings
7.0
Fix Released
High
Andrew Hutchings

Bug Description

When trying to use drizzledump to dump from a MySQL database, we encounter the following output:
There is a running version of 5.1.52 @ port 19300 and the databases `test` and `drizzledump_db` are populated (will attach a mysqldump file).

drizzle/client/drizzledump --compact --host=127.0.0.1 --port=19300 --destination-type=database --destination-host=127.0.0.1 --destination-port=9306 --destination-user=root --destination-database=drizzledump_db --user=root drizzledump_db
basic_string::at

drizzle/client/drizzledump --all-databases --compact --host=127.0.0.1 --port=19300 --destination-type=database --destination-host=127.0.0.1 --destination-port=9306 --destination-user=root --user=root
basic_string::at

drizzle/client/drizzledump --host=127.0.0.1 --port=19300 --user=root drizzledump_db
-- drizzledump 2010.11.1897 libdrizzle 7, for unknown-linux-gnu (x86_64)
--
-- Host: 127.0.0.1 Database: drizzledump_db
-- ------------------------------------------------------
-- Server version 5.1.52-debug-log (MySQL server)

Related branches

Revision history for this message
Patrick Crews (patrick-crews) wrote :

The dumpfile attached used --hex-blob and is a dump of the populated drizzledump_db database.

The tables have minimal row counts.

I used --hex-blob, but it doesn't appear to have changed the output of the TEXT columns. Please let me know if you have any troubles working with this and we can see what can be done.

Changed in drizzle:
status: New → Confirmed
assignee: nobody → Andrew Hutchings (linuxjedi)
Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

Thanks Patrick, a 3-in-1 fix here as this dump triggered a couple of other problems.

Note that the dump still won't fully insert into the destination due to this error with dump_table5:

"Error executing query: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs"

I don't think that is a bug as the source table is latin1 and the destination is utf8 so row sizes will be 3x larger for char/text types. I am open to suggestions on how to handle that though. My gut feeling is this would be a case where manual intervention is needed.

Revision history for this message
Patrick Crews (patrick-crews) wrote : Re: [Bug 669659] Re: Silent failure when trying to use drizzledump on MySQL

This makes sense to me and I agree. In such cases, it is best to let the
user know why we don't like things and leave it to them to decide how they
want to deal with them.

I'll tweak my test to accommodate / prevent such errors from being hit.

Thanks for the super-fast fix : )

On Tue, Nov 2, 2010 at 6:46 AM, Andrew Hutchings
<email address hidden>wrote:

> Thanks Patrick, a 3-in-1 fix here as this dump triggered a couple of
> other problems.
>
> Note that the dump still won't fully insert into the destination due to
> this error with dump_table5:
>
> "Error executing query: Row size too large. The maximum row size for the
> used table type, not counting BLOBs, is 8126. You have to change some
> columns to TEXT or BLOBs"
>
> I don't think that is a bug as the source table is latin1 and the
> destination is utf8 so row sizes will be 3x larger for char/text types.
> I am open to suggestions on how to handle that though. My gut feeling
> is this would be a case where manual intervention is needed.
>
> ** Changed in: drizzle/elliott
> Status: Confirmed => Fix Committed
>
> --
> Silent failure when trying to use drizzledump on MySQL
> https://bugs.launchpad.net/bugs/669659
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in A Lightweight SQL Database for Cloud Infrastructure and Web
> Applications: Fix Committed
> Status in Drizzle elliott series: Fix Committed
>
> Bug description:
> When trying to use drizzledump to dump from a MySQL database, we encounter
> the following output:
> There is a running version of 5.1.52 @ port 19300 and the databases `test`
> and `drizzledump_db` are populated (will attach a mysqldump file).
>
> drizzle/client/drizzledump --compact --host=127.0.0.1 --port=19300
> --destination-type=database --destination-host=127.0.0.1
> --destination-port=9306 --destination-user=root
> --destination-database=drizzledump_db --user=root drizzledump_db
> basic_string::at
>
> drizzle/client/drizzledump --all-databases --compact --host=127.0.0.1
> --port=19300 --destination-type=database --destination-host=127.0.0.1
> --destination-port=9306 --destination-user=root --user=root
> basic_string::at
>
> drizzle/client/drizzledump --host=127.0.0.1 --port=19300 --user=root
> drizzledump_db
> -- drizzledump 2010.11.1897 libdrizzle 7, for unknown-linux-gnu (x86_64)
> --
> -- Host: 127.0.0.1 Database: drizzledump_db
> -- ------------------------------------------------------
> -- Server version 5.1.52-debug-log (MySQL server)
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/drizzle/+bug/669659/+subscribe
>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.