Fix table cache leak in MultiGet with async_io (#10997)
Summary:
When MultiGet with the async_io option encounters an IO error in TableCache::GetTableReader, it may result in leakage of table cache handles due to queued coroutines being abandoned. This PR fixes it by ensuring any queued coroutines are run before aborting the MultiGet.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/10997
Test Plan:
1. New unit test in db_basic_test
2. asan_crash
Reviewed By: pdillinger
Differential Revision:
D41587244
Pulled By: anand1976
fbshipit-source-id:
900920cd3fba47cb0fc744a62facc5ffe2eccb64
Revert "Improve / refactor anonymous mmap capabilities (#10810)"
This reverts commit
8367f0d2d76de0f7d096cc65f5f9ebfb907d551a.
Revert "Fix include of windows.h in mmap.h (#10885)"
This reverts commit
49b7f219de87e4429067666cd92f826fe202f2f1.