RT2 -> RT3 import correspondance issue, revisited

Some time ago, I posted asking if there were problems with whichever import
tool I used to move our RT2 database to RT3. There was, and certain
correspondances were attached to tickets that didn’t (yet) exist – so now
that these tickets are being created, the old correspondances are being
used.

I’ve tried the ‘fixparents’ utility, and it appears to have done very
little. I have yet to re-visit this tool to see if I can tweak it to fix
the things that it says are suspicious, as I first thought I’d ask here for
help.

Any suggestions or pointers on what to do? Any new developments on the
problem (I can’t Google the original ticket)? Anything I can try? Everyone
who uses RT is getting frustrated with seeing the wrong correspondances in
e-mail and the web reply.

Damian Gerow wrote:

I’ve tried the ‘fixparents’ utility, and it appears to have done very
little.

What did it say while it was doing very little?
Phil Homewood, Systems Janitor, http://www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances

Thus spake Phil Homewood (pdh@snapgear.com) [24/10/03 00:54]:

I’ve tried the ‘fixparents’ utility, and it appears to have done very
little.

What did it say while it was doing very little?

Lots. :slight_smile:

To be more detailed…

The utility itself spewed out a lot of information, and it did fix a
number of things (according to its output). But it also labeled a number of
things as suspicious, and couldn’t fix them:

Checking 35621 attachments:
...
Checking 3581 (txn 5515): parent 4322 looks bad, I think this goes with 3580
Checking 3582 (txn 5515): parent 4322 looks bad, I think this goes with 3580
Checking 3584 (txn 5535): parent 4358 looks bad, I think this goes with 3583
Checking 3585 (txn 5535): parent 4358 looks bad, I think this goes with 3583
Checking 3587 (txn 5762): parent 4659 looks bad, I think this goes with 3586
Checking 3588 (txn 5762): parent 4659 looks bad, I think this goes with 3586
Checking 3590 (txn 5913): parent 4811 looks bad, I think this goes with 3589
Checking 3591 (txn 5913): parent 4811 looks bad, I think this goes with 3589
...

And when I run with --fix:

Checking 35621 attachments:
...
Checking 3581 (txn 5515): parent 4322 looks bad, tried to change to 3580 but failed: Immutable field
Checking 3582 (txn 5515): parent 4322 looks bad, tried to change to 3580 but failed: Immutable field
Checking 3584 (txn 5535): parent 4358 looks bad, tried to change to 3583 but failed: Immutable field
Checking 3585 (txn 5535): parent 4358 looks bad, tried to change to 3583 but failed: Immutable field
Checking 3587 (txn 5762): parent 4659 looks bad, tried to change to 3586 but failed: Immutable field
Checking 3588 (txn 5762): parent 4659 looks bad, tried to change to 3586 but failed: Immutable field
Checking 3590 (txn 5913): parent 4811 looks bad, tried to change to 3589 but failed: Immutable field
Checking 3591 (txn 5913): parent 4811 looks bad, tried to change to 3589 but failed: Immutable field
...

There’s also a number of ‘too many possible parent’ errors in there; I have
yet to try with --guess-ambiguous.

Damian Gerow wrote:

The utility itself spewed out a lot of information, and it did fix a
number of things (according to its output). But it also labeled a number of
things as suspicious, and couldn’t fix them:

Checking 3581 (txn 5515): parent 4322 looks bad, tried to change to 3580 but failed: Immutable field

It won’t have fixed anything, then. I guess I should have made this
comment in the script:

Need to set

Parent => { ‘read’=>1, ‘write’=>1, },

in RT::Attachment::_ClassAccessible before running this.

Do that, rerun with --fix and --guess-ambiguous and you should
fix most of your problems. Don’t forget to undo the
_ClassAccessible change afterwards.

Good luck!
Phil Homewood, Systems Janitor, http://www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances

Thus spake Phil Homewood (pdh@snapgear.com) [24/10/03 19:43]:

Damian Gerow wrote:

The utility itself spewed out a lot of information, and it did fix a
number of things (according to its output). But it also labeled a number of
things as suspicious, and couldn’t fix them:

Checking 3581 (txn 5515): parent 4322 looks bad, tried to change to 3580 but failed: Immutable field

It won’t have fixed anything, then. I guess I should have made this
comment in the script:

Need to set

Parent => { ‘read’=>1, ‘write’=>1, },

in RT::Attachment::_ClassAccessible before running this.

This is what I see:

sub _ClassAccessible {
{                 
    id => {read => 1, type => 'int(11)', default => ''},
    TransactionId => {read => 1, write => 1, type => 'int(11)', default => '0'},
    Parent => {read => 1, write => 1, type => 'int(11)', default => '0'},
    ...
}
};

I vaguely remember making this change a while ago, looks like I forgot to
set it back. So I’ve been running with this change for some time – unless
I need to take out the rest of the line…?

Thus spake Damian Gerow (damian@sentex.net) [27/10/03 10:30]:

This is what I see:

sub _ClassAccessible {

{
id => {read => 1, type => ‘int(11)’, default => ‘’},
TransactionId => {read => 1, write => 1, type => ‘int(11)’, default => ‘0’},
Parent => {read => 1, write => 1, type => ‘int(11)’, default => ‘0’},

}
};

I vaguely remember making this change a while ago, looks like I forgot to
set it back. So I’ve been running with this change for some time – unless
I need to take out the rest of the line…?

Okay, scrap that. I was looking in Attachment.pm, I keep on forgetting
about *_Overlay.pm.

I’ve made the change, just running through the database now.

Thanks, Phil!