whoisgregg - 5:30 pm on Aug 31, 2010 (gmt 0)
I'd recommend reading over the manual page first and foremost:
How long it will take depends entirely on your server configuration. How many processors? How much RAM? Is MySQL tuned to take advantage of extra RAM you've installed?
Functional glitches? Not that I can think of.
I wouldn't recommend doing any table-level operations "hot." What I would recommend is a multi-step process:
1. Create a copy of the table "tablename_innodb"
2. Convert the copy from MyISAM to InnoDB
3. Rename the original table "tablename_backup"
4. Rename the copy "tablename"
This obviously leaves out some records affected during the transition which you'd have to synchronize after the fact, but it's better than locking up an entire in-use table for an unknown period of time. If you're using autoincrementing keys, then the synchronization will be a big pain.