As few properties here at Yahoo! started using MySQL 5.1, its time for me to dig into the performance comparison between 4.1 and 5.1; as a company wide we are skipping the MySQL 5.0 in the middle and going directly to 5.1
I already wrote few test scripts to compare the core features performance along with few tweaks.. test results and tests will be updated here once I have everything in place. I also started looking into comparing memcached vs ydbm (yahoo internal cache system) and more later.
Posted @ 3:07 am ::
MySQL ::
I just read an article on Is Yahoo Gaining on Google and found it interesting. To some extent I am supporting that Yahoo! search results are getting better and better day by day.
I use mostly both Yahoo! and Google for search. And at times when I think I can’t find a result what am looking for, I change between the search and notice that Yahoo! produces better results than Google. Lets see how it continues in the coming days.
The recent addition of search assist from Yahoo! is a cool feature and am sure it will attract many users. At least am happy that search assist has my name when I start typing as … “VENU ANUGANTI”… see the pic below:

Posted @ 11:22 am ::
Yahoo! ::
Today I tried to login to my Comcast online account from its first page to see the current bill; and I found that the password field is taking clear text and the text is visible directly as shown in the picture below:
.
After testing a bit found that it is actually a bug when you focus the mouse on the username field and if you just started at the first character without deleting the whole visible text (username) under the user name field, it just keeps the text as is…what a bad design…
Yesterday here at Yahoo my mail server was migrated to new Microsoft Exchange server 2003 from the earlier IMAP server. As usual all my mail clients (Linux Fetchmail/Procmail and Windows Outlook and Thunderbird) failed to connect. It was a big pain to setup the whole thing back and re-creating the old IMAP rules to new Exchange server as there was not any auto migration.
Anyway, after configuring the Outlook with the new Exchange 2003; I re-wrote all my existing IMAP rules to server side and re-created all the folders. Once that is done, I can even access the new mail using Outlook Web Access (OWA). Once this step is done, I re-configured my Thunderbird client by subscribing to all folders in the exchange and things are back to normal. I prefer Thunderbird over outlook because of one of the internal Thunderbird plugin that allows to complete details of the sender if the sender is a yahoo employee.
By default the Fetchmail did not work on my Linux box where I fetch and forward a copy to another IMAP account which is accessible via my iPhone. And noticed that the old IMAP sub-folders which were like “INBOX.BLABLA” is not working with Exchange and instead needed to change it to “INBOX/BLABLA” in order to get rest of the sub-folders. I also needed to get rid of SSL support in order to get fetchmail to work.
I just happen to purchase a USB charger along with screen protector for my iPhone and used my Google checkout account. And am bit surprised to see that one of my last order using the same Google checkout did not even had the status updated.
The last order was placed on Feb 21, 2007 and the order status is still “in Progress” and in the detailed view I see that the order is not yet shipped. And I received this order within 2-3days when I placed the order. Its bit surprise to that Google is not even updating the status on the orders.. or is it related to merchant .. ? well, whatever it is and whoever the mistake is .. for end user atleast it should be up2date…
Here is the screen shot:
Posted @ 6:22 pm ::
Misc ::
When I have the following MyISAM table in MySQL 4.1 with no rows in the table, it works as expected. But the same table fails with an error “ERROR 1034 (HY000) at line 1: Incorrect key file for table ’statSite’; try to repair it” when it was upgraded to 5.1 server using the same old 4.1 data. If you re-create the table in 5.1, everything starts working back (ofcourse). This is really a bad incompatibility and can cause lot of problems for many properties here at Yahoo! as most of the data exists from 4.1 server and people tend to migrade directly instead of export and import. This is a similar case for Merge Tables as well that we noticed earlier.
When the server is 4.1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| [vanugant@escapereply:v1 ~]$ mysql test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.23-5b-Yahoo-SMP-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE TABLE `statSite` (
-> `siteID` varchar(16) NOT NULL default '',
-> `siteName` tinytext,
-> `siteDesc` mediumtext,
-> `username` tinytext,
-> `password` tinytext,
-> `acctype` int(1) default NULL,
-> `name` tinytext,
-> `addr` tinytext,
-> `addr2` tinytext,
-> `city` tinytext,
-> `state` tinytext,
-> `zip` tinytext,
-> `payDue` tinytext,
-> `billingType` char(1) default NULL,
-> `lastStatsView` varchar(12) default NULL,
-> `trackServerID` varchar(16) NOT NULL default '',
-> `refID` varchar(16) default NULL,
-> `refStatus` int(1) NOT NULL default '0',
-> `refAmount` float default NULL,
-> `refDate` varchar(8) NOT NULL default '',
-> `isAfl` int(1) default '0',
-> `country` tinytext,
-> `ppEmail` tinytext,
-> `returntourl` tinytext,
-> `adultContent` char(1) default NULL,
-> `dbServerID` varchar(10) default NULL,
-> `db_group` varchar(20) default NULL,
-> PRIMARY KEY (`siteID`),
-> KEY `username_idx` (`username`(20))
-> ) ENGINE=MyISAM;
Query OK, 0 rows affected (0.01 sec)
mysql> select * from statSite;
Empty set (0.00 sec)
mysql> exit |
After upgraded to 5.0 from 4.1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [vanugant@escapereply:v1 ~]$ mysql test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.37-2-Yahoo-SMP-log Yahoo SMP (i386)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select * from statSite;
Empty set (0.00 sec)
mysql> exit |
After the server has been updated to 5.1 from 5.0:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| [vanugant@escapereply:v1 ~]$ mysql test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.21-beta-Yahoo-SMP-log (RHEL i386)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select * from statSite;
ERROR 1034 (HY000): Incorrect key file for table 'statSite'; try to repair it
mysql> repair table statSite;
+---------------+--------+----------+-----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------------+--------+----------+-----------------------------------------------------------+
| test.statSite | repair | Error | Incorrect key file for table 'statSite'; try to repair it |
| test.statSite | repair | error | Corrupt |
+---------------+--------+----------+-----------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> select * from statSite;
ERROR 1034 (HY000): Incorrect key file for table 'statSite'; try to repair it
mysql> |
This happens even when there is an upgrade from 4.1 to 5.1 directly, but not when you create it with 5.0 or directly with 5.1. As the error indicates, even the repair could not fix the problem. Currently I patched for Yahoo! internal builds by by-passing the validation of key checks (not a functionality change); but need to report the bug to MySQL team and see what the outcome is.
Here is the actual bug report to MySQL team:
http://bugs.mysql.com/bug.php?id=31331