Bug: CPU at 100% for 20 seconds during Yahoo transport logins

With about 20 people in my roster my 1.8Ghz Xeon pegs for about 20 seconds during the login process. I see it with Yahoo because that’‘s where I have the most contacts. Not sure it’'s doing this for the other transports.

Hrm. I wonder why I wasn’‘t seeing this? Let me try a few things. I don’'t suppose you had debug logging turned on and saw what might have been happening at the time?

OK, after a little investigation, I found 847,234 rows in my gatewayPseudoRoster table. Hundreds of thousands of duplicates. After clearing out the table performance is better BUT every time I log out and back in, the number of rows in the table double.

Nothing in the debug log.

Message was edited by: gtj

aha! I know exactly what’'s causing that! Thank you! Will get it fixed asap!

Cool. You might want to throw a unique index on that table as well.

I originally did not do that because the uniqueness would have to span to fields. Entries are really keyed off of your registration id number -and- the username of the contact. I’‘m actually not sure if it’'s possible to set up an index like that. Any ideas?

You can create a unique index on multiple columns in a table.

create unique index ix1 on gatewayPseudoRoster (registrationID, username);

It’'s quite common.

Oddly enough, I’‘m having issues duplicating the behavior you are seeing. I’'m trying to get it fixed but…

Either way, creating an index would help. My table has like 104K entries in it. ;D

< ideal

I have created an issue for this, GATE-44

Really?

I even did a complete database wipe and started over. I got my 20 contacts from Yahoo but changed the nickname for only 1. The table started with 1 row but after logging on and off a bunch of times since last night, I had over 200k entries, all duplicates.

Oh! Thank you! I think this is what I needed to see to figure out how to duplicate it! =)

Either way, I have a temporary fix in place now. Releasing a new version soonish.

Just did a build on the trunk and it seems to be working OK now. Thanks.

Awesome, thanks for letting me know!!