When profiling a multi-threaded hive streaming ingest, observed lock contention on java.util.Properties getProperty() to check if os.arch is "sparc". java.util.Properties internally uses HashTable. HashTable.get() is synchronized method. In the test application, on a 30s profile with 64 threads ~40% CPU time is spent on getProperty() contention. See attached snapshot.