Sergio found that when HDFS sync is disabled, full snapshot is not persisted into data store. However, when data store is empty, we decide to get full snapshot. Therefore, every run, we get full snapshot from HMS. This causes big overhead.
The solution is to check if the notification ID table is empty or not because even when HDFS sync is disabled, we still persist the notification ID into notification ID table.