| When running with high concurrency, Hashtable.get() blocks multiple threads for properties. This causes failure when a single thread takes too much time to execute. A simple fix is to use ConcurrentHashMap that is not synchronized for get statements. Thread Dump is attached that clearly shows multiple threads being blocked at Hashtable.get(). The corresponding Test Case that generates the Thread Dump too has been attached. When using ConcurrentHashMap properties threads do not wait for each other rather they easily get through without any synchronization which saves a lot of time. |