If Magento Enterprise's indexers have crashed or your database has crashed or was dumped during a re-index, you might get stuck with an indexer lock. This lock can only be removed by the MySQL thread which has started it.
So how to do this?
The solution to such a situation is to log into mysql and:
mysql> SHOW PROCESSLIST; +------+------------+-----------+----------+---------+----------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------+------------+-----------+----------+---------+----------+-------+------------------+ | 4185 | mysql_user | localhost | mysql_db | Query | 0 | NULL | show processlist | | 4384 | mysql_user | localhost | mysql_db | Query | 23489 | NULL | | +------+------------+-----------+----------+---------+----------+-------+------------------+ 2 rows in set (0.00 sec) mysql> KILL 4384; Go to var/locks and check for full_reindex.lock file remove that.