Current code logic for DELETE is as follows: if WHERE clause contains a condition as "key=xxx", it uses fastUpdate which remove the related item directly.
else do select for update; for each row, call closure code "RMV" to remove it. 1. As "executeSelectForDml" get _KEY and _VAL columns for all condidate rows, it often causes OOM when there are a lot of data to delete. Why do we verify "val" during remove operation? 2. After selection, why don't we just remove it with cache.remove as fastUpdate does?