Do not submit multiple simultaneous seek-compaction requests.
Do not submit multiple simultaneous seek-compaction requests.

Summary:
The code was such that if multi-threaded-compactions as well
as seek compaction are enabled then it submits multiple
compaction request for the same range of keys. This causes
extraneous sst-files to accumulate at various levels.

Test Plan:
I am not able to write a very good unit test for this one
but can easily reproduce this bug with 'dbstress' with the
following options.

batch=1;maxk=100000000;ops=100000000;ro=0;fm=2;bpl=10485760;of=500000; wbn=3; mbc=20; mb=2097152; wbs=4194304; dds=1; sync=0;  t=32; bs=16384; cs=1048576; of=500000; ./db_stress --disable_seek_compaction=0 --mmap_read=0 --threads=$t --block_size=$bs --cache_size=$cs --open_files=$of --verify_checksum=1 --db=/data/mysql/leveldb/dbstress.dir --sync=$sync --disable_wal=1 --disable_data_sync=$dds --write_buffer_size=$wbs --target_file_size_base=$mb --target_file_size_multiplier=$fm --max_write_buffer_number=$wbn --max_background_compactions=$mbc --max_bytes_for_level_base=$bpl --reopen=$ro --ops_per_thread=$ops --max_key=$maxk --test_batches_snapshots=$batch

Reviewers: leveldb, emayanke

Reviewed By: emayanke

Differential Revision: https://reviews.facebook.net/D11055

wlqGit/rocksdb,wlqGit/rocksdb,geraldoandradee/rocksdb,geraldoandradee/rocksdb,jalexanderqed/rocksdb,Andymic/rocksdb,NickCis/rocksdb,wenduo/rocksdb,flabby/rocksdb,vmx/rocksdb,biddyweb/rocksdb,jalexanderqed/rocksdb,vashstorm/rocksdb,flabby/rocksdb,IMCG/RcoksDB,virtdb/rocksdb,rDSN-Projects/rocksdb.replicated,luckywhu/rocksdb,facebook/rocksdb,tsheasha/rocksdb,tschottdorf/rocksdb,wat-ze-hex/rocksdb,msb-at-yahoo/rocksdb,mbarbon/rocksdb,msb-at-yahoo/rocksdb,amyvmiwei/rocksdb,Applied-Duality/rocksdb,lgscofield/rocksdb,wlqGit/rocksdb,siddhartharay007/rocksdb,temicai/rocksdb,anagav/rocksdb,Vaisman/rocksdb,norton/rocksdb,jalexanderqed/rocksdb,fengshao0907/rocksdb,siddhartharay007/rocksdb,wat-ze-hex/rocksdb,temicai/rocksdb,anagav/rocksdb,NickCis/rocksdb,virtdb/rocksdb,lgscofield/rocksdb,ryneli/rocksdb,skunkwerks/rocksdb,lgscofield/rocksdb,rDSN-Projects/rocksdb.replicated,kaschaeffer/rocksdb,zhangpng/rocksdb,skunkwerks/rocksdb,makelivedotnet/rocksdb,Applied-Duality/rocksdb,virtdb/rocksdb,JohnPJenkins/rocksdb,mbarbon/rocksdb,geraldoandradee/rocksdb,temicai/rocksdb,dkorolev/rocksdb,amyvmiwei/rocksdb,wat-ze-hex/rocksdb,luckywhu/rocksdb,fengshao0907/rocksdb,lgscofield/rocksdb,vmx/rocksdb,dkorolev/rocksdb,OverlordQ/rocksdb,RyanTech/rocksdb,biddyweb/rocksdb,SunguckLee/RocksDB,norton/rocksdb,dkorolev/rocksdb,luckywhu/rocksdb,JohnPJenkins/rocksdb,JackLian/rocksdb,tsheasha/rocksdb,IMCG/RcoksDB,lgscofield/rocksdb,rDSN-Projects/rocksdb.replicated,Applied-Duality/rocksdb,mbarbon/rocksdb,zhangpng/rocksdb,JohnPJenkins/rocksdb,Andymic/rocksdb,Vaisman/rocksdb,JohnPJenkins/rocksdb,biddyweb/rocksdb,wat-ze-hex/rocksdb,JohnPJenkins/rocksdb,sorphi/rocksdb,bbiao/rocksdb,flabby/rocksdb,anagav/rocksdb,hobinyoon/rocksdb,tsheasha/rocksdb,bbiao/rocksdb,hobinyoon/rocksdb,amyvmiwei/rocksdb,tschottdorf/rocksdb,wenduo/rocksdb,msb-at-yahoo/rocksdb,luckywhu/rocksdb,mbarbon/rocksdb,facebook/rocksdb,bbiao/rocksdb,vashstorm/rocksdb,vmx/rocksdb,virtdb/rocksdb,NickCis/rocksdb,wenduo/rocksdb,siddhartharay007/rocksdb,Applied-Duality/rocksdb,JackLian/rocksdb,vmx/rocksdb,OverlordQ/rocksdb,Applied-Duality/rocksdb,wat-ze-hex/rocksdb,Andymic/rocksdb,Andymic/rocksdb,wlqGit/rocksdb,IMCG/RcoksDB,dkorolev/rocksdb,OverlordQ/rocksdb,makelivedotnet/rocksdb,caijieming-baidu/rocksdb,OverlordQ/rocksdb,zhangpng/rocksdb,bbiao/rocksdb,hobinyoon/rocksdb,facebook/rocksdb,sorphi/rocksdb,sorphi/rocksdb,tschottdorf/rocksdb,SunguckLee/RocksDB,norton/rocksdb,skunkwerks/rocksdb,JoeWoo/rocksdb,skunkwerks/rocksdb,Andymic/rocksdb,Vaisman/rocksdb,tizzybec/rocksdb,geraldoandradee/rocksdb,Andymic/rocksdb,IMCG/RcoksDB,anagav/rocksdb,geraldoandradee/rocksdb,ryneli/rocksdb,NickCis/rocksdb,jalexanderqed/rocksdb,vmx/rocksdb,kaschaeffer/rocksdb,tsheasha/rocksdb,luckywhu/rocksdb,mbarbon/rocksdb,ryneli/rocksdb,temicai/rocksdb,SunguckLee/RocksDB,sorphi/rocksdb,bbiao/rocksdb,kaschaeffer/rocksdb,flabby/rocksdb,JohnPJenkins/rocksdb,vmx/rocksdb,vashstorm/rocksdb,ylong/rocksdb,lgscofield/rocksdb,jalexanderqed/rocksdb,kaschaeffer/rocksdb,ylong/rocksdb,JoeWoo/rocksdb,wskplho/rocksdb,skunkwerks/rocksdb,mbarbon/rocksdb,hobinyoon/rocksdb,JoeWoo/rocksdb,vmx/rocksdb,RyanTech/rocksdb,tschottdorf/rocksdb,amyvmiwei/rocksdb,fengshao0907/rocksdb,temicai/rocksdb,RyanTech/rocksdb,NickCis/rocksdb,vashstorm/rocksdb,wskplho/rocksdb,anagav/rocksdb,wenduo/rocksdb,bbiao/rocksdb,tizzybec/rocksdb,makelivedotnet/rocksdb,msb-at-yahoo/rocksdb,tsheasha/rocksdb,skunkwerks/rocksdb,JohnPJenkins/rocksdb,biddyweb/rocksdb,flabby/rocksdb,amyvmiwei/rocksdb,rDSN-Projects/rocksdb.replicated,JoeWoo/rocksdb,tsheasha/rocksdb,ylong/rocksdb,alihalabyah/rocksdb,norton/rocksdb,wenduo/rocksdb,tschottdorf/rocksdb,norton/rocksdb,RyanTech/rocksdb,msb-at-yahoo/rocksdb,wat-ze-hex/rocksdb,zhangpng/rocksdb,zhangpng/rocksdb,caijieming-baidu/rocksdb,makelivedotnet/rocksdb,RyanTech/rocksdb,wlqGit/rocksdb,alihalabyah/rocksdb,sorphi/rocksdb,wenduo/rocksdb,rDSN-Projects/rocksdb.replicated,SunguckLee/RocksDB,SunguckLee/RocksDB,vashstorm/rocksdb,Vaisman/rocksdb,ryneli/rocksdb,JoeWoo/rocksdb,ylong/rocksdb,siddhartharay007/rocksdb,vashstorm/rocksdb,NickCis/rocksdb,hobinyoon/rocksdb,fengshao0907/rocksdb,JackLian/rocksdb,flabby/rocksdb,fengshao0907/rocksdb,temicai/rocksdb,alihalabyah/rocksdb,zhangpng/rocksdb,Andymic/rocksdb,JackLian/rocksdb,wskplho/rocksdb,JoeWoo/rocksdb,caijieming-baidu/rocksdb,IMCG/RcoksDB,mbarbon/rocksdb,biddyweb/rocksdb,amyvmiwei/rocksdb,rDSN-Projects/rocksdb.replicated,wskplho/rocksdb,bbiao/rocksdb,Andymic/rocksdb,Applied-Duality/rocksdb,Applied-Duality/rocksdb,ryneli/rocksdb,dkorolev/rocksdb,makelivedotnet/rocksdb,caijieming-baidu/rocksdb,tizzybec/rocksdb,skunkwerks/rocksdb,caijieming-baidu/rocksdb,wat-ze-hex/rocksdb,wlqGit/rocksdb,vmx/rocksdb,JoeWoo/rocksdb,geraldoandradee/rocksdb,RyanTech/rocksdb,wskplho/rocksdb,wenduo/rocksdb,Vaisman/rocksdb,geraldoandradee/rocksdb,siddhartharay007/rocksdb,tizzybec/rocksdb,alihalabyah/rocksdb,facebook/rocksdb,alihalabyah/rocksdb,hobinyoon/rocksdb,Vaisman/rocksdb,wat-ze-hex/rocksdb,rDSN-Projects/rocksdb.replicated,ylong/rocksdb,makelivedotnet/rocksdb,luckywhu/rocksdb,jalexanderqed/rocksdb,caijieming-baidu/rocksdb,ylong/rocksdb,tizzybec/rocksdb,norton/rocksdb,sorphi/rocksdb,virtdb/rocksdb,virtdb/rocksdb,JackLian/rocksdb,wskplho/rocksdb,jalexanderqed/rocksdb,luckywhu/rocksdb,msb-at-yahoo/rocksdb,alihalabyah/rocksdb,siddhartharay007/rocksdb,hobinyoon/rocksdb,tizzybec/rocksdb,JackLian/rocksdb,wskplho/rocksdb,Vaisman/rocksdb,anagav/rocksdb,SunguckLee/RocksDB,OverlordQ/rocksdb,OverlordQ/rocksdb,sorphi/rocksdb,caijieming-baidu/rocksdb,ryneli/rocksdb,temicai/rocksdb,tschottdorf/rocksdb,biddyweb/rocksdb,facebook/rocksdb,NickCis/rocksdb,facebook/rocksdb,fengshao0907/rocksdb,makelivedotnet/rocksdb,kaschaeffer/rocksdb,ryneli/rocksdb,flabby/rocksdb,biddyweb/rocksdb,hobinyoon/rocksdb,SunguckLee/RocksDB,ylong/rocksdb,facebook/rocksdb,siddhartharay007/rocksdb,dkorolev/rocksdb,virtdb/rocksdb,facebook/rocksdb,IMCG/RcoksDB,IMCG/RcoksDB,RyanTech/rocksdb,fengshao0907/rocksdb,zhangpng/rocksdb,norton/rocksdb,wenduo/rocksdb,wlqGit/rocksdb,dkorolev/rocksdb,alihalabyah/rocksdb,tizzybec/rocksdb,kaschaeffer/rocksdb,norton/rocksdb,JackLian/rocksdb,amyvmiwei/rocksdb,anagav/rocksdb,OverlordQ/rocksdb,tsheasha/rocksdb,tsheasha/rocksdb,kaschaeffer/rocksdb,lgscofield/rocksdb,bbiao/rocksdb,vashstorm/rocksdb,SunguckLee/RocksDB