Bug #23985 Error with reverse engineering and app flow
Submitted: 5 Nov 2006 9:36 Modified: 9 Dec 2006 1:57
Reporter: Sotirios Karavarsamis Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Migration Toolkit Severity:S3 (Non-critical)
Version:1.1.5rc OS:Windows (Windows)
Assigned to: Michael G. Zinner CPU Architecture:Any

[5 Nov 2006 9:36] Sotirios Karavarsamis
Description:
I normally start up the MySQL Migration Toolkit from my windows box. I have a MySQL server up and running for local tests. So, I trick the application with the following: I select my server running on the loopback as the server I want to migrate from. Next, I select as the migrate-to server my loopback MySQL server again. I press Next, and the tool checks for connectivity with the server. Everything is fine. But the tool fails in reverse engineering the database and throws an Exception:

The schema could not be reverse engineered (error: 0).
ReverseEngineeringMysqlJdbc.reverseEngineer :The function ReverseEngineeringMysql:reverseEngineer() returned the following error:
Could not get routines.
Details: 
com.mysql.grt.Grt.callGrtFunction(Unknown Source)
com.mysql.grt.modules.ReverseEngineeringMysqlJdbc.reverseEngineer(ReverseEngineeringMysqlJdbc.java:87)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.mysql.grt.Grt.callModuleFunction(Unknown Source)

then the Next button does not get diabled. So I can proceed to the next steps. When I press a firther 3 times the next button i get an access violation error message at address [...]. The "Next" button should be diabled to prevent this behaviour.

How to repeat:
Just migrate from a MySQL database to a MySQL database on your local server. You may get a reverse-engineering error. Then, press the "Next" button three times, and you should receive an access violation error.

Suggested fix:
This behavior could be avoided by just disabling the Next button. Thus, we could prevent the access violation within the application in that case.
[5 Nov 2006 13:44] MySQL Verification Team
Thank you for the bug report. Running 2 servers instances on local host
the migration tool hangs in the Bulk Data Transfer.
[22 Nov 2006 12:40] Michael G. Zinner
I could not reproduce both of the problems, the reverse engineering and the bulk transfer problem.

About the reverse engineering. Which versions of MySQL servers are you using? Does it work to click [Advanced >>] on the "Source Schemata Selection" page and select [ ] Only reverse engineer table objects?

About bulk transfer, between which versions? Could a dump be attached to the bug?
[22 Nov 2006 21:24] Sotirios Karavarsamis
sorry, I cannot include a MySQL database dump! I used MySQL 5.0 under Windows XP/SP 2, but the migration tool REALLY threw an exception (see exactly on my original message).
[22 Nov 2006 21:41] Michael G. Zinner
Hi Sotirios, 

my comment requesting the dump was for the problem with the Bulk Data Transfer as described by Miguel.

My question to you was, if it helps when you click the 

  [ ] Only reverse engineer table objects

checkbox. If that would work we could narrow down the problem further.

When you say MySQL 5.0, was that for the source AND target database? Or are you using the Migration Toolkit to upgrade a MySQL 4.0 or 4.1 to 5.0?

Thanks
[24 Nov 2006 18:49] Sotirios Karavarsamis
I was just trying to migrate from the local 5.0 server to the local 5.0 server. There was where I faced the problem. Unhopefully enough, when I tried selecting the only-reverse-engineer table, just the same problem occurred! Seems there is many a line of code needed to be changed, huh?
[9 Dec 2006 1:57] MySQL Verification Team
The same test I did now with 1.1.6rc I am not able to repeat anymore
the server are 5.0.32 (latest source) and 5.0.27 from release package.

2. Data Bulk Transfer
---------------------

      `report`.`customersep1`
      -----------------------
          1105 row(s) transfered.

      `report`.`dbdsep1`
      ------------------
          Data truncation: Data too long for column 'Summary' at row 86
          Data truncation: Data too long for column 'Summary' at row 1846
          Data truncation: Data too long for column 'Summary' at row 2144
          Data truncation: Data too long for column 'Summary' at row 3638
          6238 row(s) transfered.

End of report.
--------------------------------------------------------------------------------