The code for each API in HiveMetaStore.java is like this:
2. – operation--
3. commit() or rollback() based on result of the operation.
4. add entry to notification log (unconditionally)
If the operation is failed (in step 2), we still add entry to notification log. Found this issue in testing.
It is still ok as this is the case of false positive.
If the operation is successful and adding to notification log failed, the user will get an MetaException. It will not rollback the operation, as it is already committed. We need to handle this case so that we will not have false negatives.