Use a fair tryLock call in IndexSamplingController

- improve handling of InterruptedException in DoubleLatch
Log when rebuilding counts on startup