The containsKey method of ConsisentMap is not implemented in CachingAsyncConsistentMap. That will indeed cause it make a remote call for containsKey, which would consume a lot of time. We shoud make read operations from the local cache.
For DistributedVirtualNetworkStore it should include:
V get(Object key);
boolean containsKey(Object key);
Other read operation could also be implemented in CachingAsyncConsistentMap:
boolean containsValue(Object value);
Set<Map.Entry<K, V>> entrySet();