can easily reproduce this from UT, both impacting inmemory and db provider the root cause here is because removeInternal() is actually only accepting primary keys  because the mergedData is keyed by primary key 