Problem with rt2-to-rt3 upgrade

Hi all,

Happy New Year!

I’m having trouble with the rt2-to-rt3 upgrade, and I haven’t seen my
particular problem mentioned on the list.

I’m upgrading from:

SunOS 5.7
postgres 7.2.2
perl 5.6.1
apache 1.3.27
mod_perl 1.27
RT 2.0.15

To two machines:

postgres 7.3.4

FreeBSD 5.2-BETA
perl 5.8.2
apache 2.0.48
mod_perl 1.99r10 (I know, I’ve been warned…)
RT 3.0.7
postgres 7.3.4 frontend
RT 2.0.15 libraries (for the export/import scripts)

The new RT frontend comes up fine. My problem is with the rt-2.0-to-dumpfile
and dumpfile-to-rt-3.0 scripts (I have version 1.20 of both scripts).

When I first tried rt-2.0-to-dumpfile, it had problems with many tickets
with binary attachments. It would reach one of these tickets and hang.
I marked these ‘dead’ in the RT2 db and set “$export_dead = 0” so the
script would skip them, and eventually got through the entire export

But, at one point when I’d unloaded almost 2,000 tickets (before hitting a
problem ticket), I went ahead and tried the dumpfile-to-rt-3.0 script.
After adding “BEGIN { $Storable::interwork_56_64bit = 1; }”, it worked fine.

Since then, I’ve been unable to import the additional 4,000 tickets in the
RT2 db. I don’t see any errors from the script – it announces each ticket
number as usual. It takes just as long (really long!) to process the new
tickets as the old ones. And there are no errors in the postgres log. But,
nothing is inserted into the database.

I’ve completely dropped and re-installed the RT3 db (using the
rt-setup-database script), and I’ve tried running rt-2.0-to-dumpfile with the
"since" option. I think I even re-installed the entire RT3 port. I see the
users, groups, queues, and first 2,000 tickets re-imported into the clean
database when I re-run the script, but not the remaining tickets. I must be
missing something really obvious…?

Thanks very much for any advice.

Hi all,

I posted a few weeks ago (“problem with rt2-to-rt3 upgrade”). My problem was
that the export script successfully unloaded my RT2 tickets, but the import
script only inserted the first thousand or so tickets into the RT3 database,
although it reported that it was processing all the tickets. I didn’t receive
any replies, so presumably no one else saw this problem…probably because no
one else was foolish enough to change operating systems, endianism, perl,
apache, postgres, and RT versions all at the same time.

However…since then I’ve figured out a little bit more. When I kept a close
watch on the postgres log while running the import script, I would
occasionally see “parser: unterminated quoted string at or near …”, or
"invalid UNICODE character sequence found", or “+ at character 413d quoted
string at or near…”, etc. The current ticket would have a binary attachment
such as an Excel spreadsheet. I’ve already had problems exporting tickets
with binary attachments, but the export script would fail completely on those
and not continue. The import script continues on with no further errors, but
all tickets following the problem ticket are not inserted into the database.

My only solution to this so far is to remove each problem ticket from the
dumpfile directory, recreate the RT3 database, and re-run the import script.
Obviously this is very time-consuming, and I lose the problem tickets in the
transition. I would appreciate any suggestions on how to debug or fix this.