There are a few steps that are done inside the OM bucket lock that are lock invariant and can be done outside the lock. This patch refactors those steps. It also adds an isExist API in the metadata store so that we dont need to deserialize the byte to Object while doing a simple table.get(key) != null check.
On applying the patch, the OM + SCM (With dummy datanodes) write performance improves by around 3 - 6x based on number of existing keys in the OM RocksDB.
Thanks to [~nandakumar131] who helped with this patch.