@Override public synchronized boolean put(K key, V value, long scn) throws Exception { if(scn >= _hwmScn) { Clock clock; _store.put(key, value); clock = (scn == _hwmScn) ? _waterMarksClock.current() : _waterMarksClock.updateHWMark(_source, scn); _retention.put(new SimpleEvent<K>(key, clock)); _hwmScn = scn; return true; } else { return false; } }
@Override public synchronized boolean delete(K key, long scn) throws Exception { if(scn >= _hwmScn) { Clock clock; _store.delete(key); clock = (scn == _hwmScn) ? _waterMarksClock.current() : _waterMarksClock.updateHWMark(_source, scn); _retention.put(new SimpleEvent<K>(key, clock)); _hwmScn = scn; return true; } else { return false; } } }
@Override public synchronized boolean put(K key, V value, long scn) throws Exception { if(scn >= _hwmScn) { Clock clock; _store.put(key, value); clock = (scn == _hwmScn) ? _waterMarksClock.current() : _waterMarksClock.updateHWMark(_source, scn); _retention.put(new SimpleEvent<K>(key, clock)); _hwmScn = scn; return true; } else { return false; } }
@Override public synchronized boolean delete(K key, long scn) throws Exception { if(scn >= _hwmScn) { Clock clock; _store.delete(key); clock = (scn == _hwmScn) ? _waterMarksClock.current() : _waterMarksClock.updateHWMark(_source, scn); _retention.put(new SimpleEvent<K>(key, clock)); _hwmScn = scn; return true; } else { return false; } } }