MemSQL bad generated keys for auto_increment concurrent requests

That sounds like potentially a client-side issue. If you reproduce the problem you observed and query the database for the actual data inserted, you should be able to confirm that there were no duplicates. Perhaps the 2 threads are actually reading from the same result set for some reason?