Unassigning tickets does not work

Since we upgraded from RT 3.8 to 4.0.4, we can’t assign tickets to Nobody anymore.
To anybody else works.

When I give to someuser history says :
“JC Boggio - Given to someuser”

When I try to give to nobody, I get :
“JC Boggio - Not taken”

(These are free translations from french)

Any clues ?

Thanks,

JC

Since we upgraded from RT 3.8 to 4.0.4, we can’t assign tickets to
Nobody anymore.
To anybody else works.

When I give to someuser history says :
“JC Boggio - Given to someuser”

When I try to give to nobody, I get :
“JC Boggio - Not taken”

(These are free translations from french)

What do these queries return?

SELECT * FROM Users WHERE Name=‘Nobody’;

SELECT u.Name, a.id, a.RightName, a.ObjectType,
a.ObjectId, a.Creator, a.Created
FROM
ACL a
join CachedGroupMembers cgm on a.PrincipalId = cgm.GroupId
join Principals p on p.id = cgm.MemberId
join Users u on u.id = p.id
WHERE
a.PrincipalType = ‘Group’ and u.Name = ‘Nobody’;

Thomas,

Le 07/02/2012 16:22, Thomas Sibley a �crit :

SELECT * FROM Users WHERE Name=‘Nobody’;

rt3=> SELECT * FROM Users WHERE Name=‘Nobody’;
-[ RECORD 1 ]---------±----------------------------------------------------------------------------------
id | 6
name | Nobody
password | NO-PASSWORD
comments | Do not delete or modify this user. It is integral to RT’s internal data structures
signature |
emailaddress |
freeformcontactinfo |
organization |
realname | Nobody in particular
nickname |
lang |
emailencoding |
webencoding |
externalcontactinfoid |
contactinfosystem |
externalauthid |
authsystem |
gecos |
homephone |
workphone |
mobilephone |
pagerphone |
address1 |
address2 |
city |
state |
zip |
country |
timezone |
pgpkey |
creator | 1
created | 2009-04-06 09:31:34
lastupdatedby | 1
lastupdated | 2009-04-06 09:31:34
authtoken |

SELECT u.Name, a.id, a.RightName, a.ObjectType,
a.ObjectId, a.Creator, a.Created
FROM
ACL a
join CachedGroupMembers cgm on a.PrincipalId = cgm.GroupId
join Principals p on p.id = cgm.MemberId
join Users u on u.id = p.id
WHERE
a.PrincipalType = ‘Group’ and u.Name = ‘Nobody’;

name | id | rightname | objecttype | objectid | creator | created
Nobody | 2 | OwnTicket | RT::System | 1 | 0 |
Nobody | 9 | AdminGroup | RT::Group | 24 | 0 |
Nobody | 8 | AdminGroupMembership | RT::Group | 24 | 0 |
Nobody | 6 | CreateGroupDashboard | RT::Group | 24 | 0 |
Nobody | 13 | DeleteGroupDashboard | RT::Group | 24 | 0 |
Nobody | 11 | EditSavedSearches | RT::Group | 24 | 0 |
Nobody | 12 | ModifyGroupDashboard | RT::Group | 24 | 0 |
Nobody | 10 | ModifyOwnMembership | RT::Group | 24 | 0 |
Nobody | 14 | SeeGroup | RT::Group | 24 | 0 |
Nobody | 1336 | SeeGroup | RT::Group | 3358 | 0 |
Nobody | 1339 | SeeGroup | RT::Group | 3975 | 0 |
Nobody | 1351 | SeeGroup | RT::Group | 4372 | 0 |
Nobody | 2904 | SeeGroup | RT::Group | 66841 | 0 |
Nobody | 15 | SeeGroupDashboard | RT::Group | 24 | 0 |
Nobody | 5 | ShowSavedSearches | RT::Group | 24 | 0 |

Since we upgraded from RT 3.8 to 4.0.4, we can’t assign tickets to
Nobody anymore.
To anybody else works.

When I give to someuser history says :
“JC Boggio - Given to someuser”

When I try to give to nobody, I get :
“JC Boggio - Not taken”

(These are free translations from french)

A coworker pointed out that the french translation is likely just
incorrect or misleading. The english for your second transaction is
“Untaken” (meaning you gave up the ticket; RT implements this by making
a Nobody user the owner).

Unless you’re seeing problems in the logs, I think you’re fine. Nobody
displays as the Owner in the Basics section of the ticket display page,
right?

Thomas

Thomas,

Le 07/02/2012 17:47, Thomas Sibley a �crit :

Unless you’re seeing problems in the logs, I think you’re fine. Nobody
displays as the Owner in the Basics section of the ticket display page,
right?

Nope, still me.

I give the ticket to some coworker :

select * from tickets where id=27155;
id | effectiveid | queue | type | issuestatement | resolution | owner | subject | initialpriority | finalpriority | priority | timeestimated | timeworked | status | timeleft | told | starts | started | due | resolved | lastupdatedby | lastupdated | creator | created | disabled
27155 | 27155 | 33 | ticket | 0 | 0 | 104 | [0450757d] **Temps de r�ponse anormal - rca0450757dcpe01 | 0 | 0 | 0 | 0 | 0 | open | 0 | | 1970-01-01 00:00:00 | 2012-02-07 13:23:52 | 1970-01-01 00:00:00 | 1970-01-01 00:00:00 | 22 | 2012-02-07 19:13:07 | 19061 | 2012-02-07 13:14:20 | 0

I steal the ticket :

select * from tickets where id=27155;
id | effectiveid | queue | type | issuestatement | resolution | owner | subject | initialpriority | finalpriority | priority | timeestimated | timeworked | status | timeleft | told | starts | started | due | resolved | lastupdatedby | lastupdated | creator | created | disabled
27155 | 27155 | 33 | ticket | 0 | 0 | 22 | [0450757d] **Temps de r�ponse anormal - rca0450757dcpe01 | 0 | 0 | 0 | 0 | 0 | open | 0 | | 1970-01-01 00:00:00 | 2012-02-07 13:23:52 | 1970-01-01 00:00:00 | 1970-01-01 00:00:00 | 22 | 2012-02-07 19:08:19 | 19061 | 2012-02-07 13:14:20 | 0

I change it to “Nobody in particular” :

select * from tickets where id=27155;
id | effectiveid | queue | type | issuestatement | resolution | owner | subject | initialpriority | finalpriority | priority | timeestimated | timeworked | status | timeleft | told | starts | started | due | resolved | lastupdatedby | lastupdated | creator | created | disabled
27155 | 27155 | 33 | ticket | 0 | 0 | 22 | [0450757d] **Temps de r�ponse anormal - rca0450757dcpe01 | 0 | 0 | 0 | 0 | 0 | open | 0 | | 1970-01-01 00:00:00 | 2012-02-07 13:23:52 | 1970-01-01 00:00:00 | 1970-01-01 00:00:00 | 22 | 2012-02-07 19:09:34 | 19061 | 2012-02-07 13:14:20 | 0

The yellow “Results” box says :
Intervenant chang� de cat � Nobody

The history says :
JC BOGGIO - Non pris

Unfortunately, on the box underneath “modify users for ticket 27155”, I see myself.
Same thing on “Ticket metadata” page.

And as you see on the query, owner is not 6.

select id,name from users where id in (1,6,22);
id | name
1 | RT_System
6 | Nobody
22 | cat

Nothing in /var/log/apache2/error.log

No clue ? Should I file a bug report ?

No clue ? Should I file a bug report ?

The sql output you provided earlier isn’t enough to go on. Filing a bug
report won’t get you any further and no one else has reported this
problem. I suspect there is an error in the logs somewhere that is
getting missed (apache logs, mysql logs, etc).

Can you reproduce this problem on a fresh RT install?

Thomas

Just a quick follow-up for the record.

Problem was my fault : I have a scrip modifying a ticket owner as soon as
someone “works” on the ticket.

There are exceptions, like when the owner is changed.

But RT4 changed the way the transaction stores this owner change :

RT3: Type=‘Give’, Field='Owner’
RT4: Type=‘Set’, Field=‘Owner’

Hope this helps.

Just a quick follow-up for the record.

Problem was my fault : I have a scrip modifying a ticket owner as soon as
someone “works” on the ticket.

There are exceptions, like when the owner is changed.

But RT4 changed the way the transaction stores this owner change :

RT3: Type=‘Give’, Field=‘Owner’
RT4: Type=‘Set’, Field=‘Owner’

Yep. We think it’s better to have consistent (Set, Owner) pair instead
of multiple Types for owner change transactions. Kind of the change
can be figured and named from OldValue, NewValue and Creator columns.
BriefDescription in Transaction.pm does such naming if you need
example.

Hope this helps.


RT Training Sessions (http://bestpractical.com/services/training.html)

  • Boston March 5 & 6, 2012

Best regards, Ruslan.