@Override public long getLWMark() { return _waterMarksClock.getLWMScn(_source); }
@Override public long getLWMark() { return _waterMarksClock.getLWMScn(_source); }
/** * Creates a new RetentionStoreWriter instance. * * @param source - the source of store * @param retention - the retention for store update events. * @param store - the store * @param waterMarksClock */ public SimpleRetentionStoreWriter(String source, Retention<K> retention, DataStore<K, V> store, WaterMarksClock waterMarksClock) { this._source = source; this._retention = retention; this._store = store; this._waterMarksClock = waterMarksClock; // Initialize the high water mark scn _hwmScn = waterMarksClock.getHWMScn(source); // Reset low/high water marks if necessary long lwmScn = waterMarksClock.getLWMScn(source); if(_hwmScn < lwmScn) { lwmScn = _hwmScn; waterMarksClock.updateWaterMarks(source, lwmScn, _hwmScn); } else { waterMarksClock.setHWMark(source, _hwmScn); } // Log water marks getLogger().info(String.format("init %s lwmScn=%d hwmScn=%d", source, lwmScn, _hwmScn)); }
/** * Creates a new RetentionStoreWriter instance. * * @param source - the source of store * @param retention - the retention for store update events. * @param store - the store * @param waterMarksClock */ public SimpleRetentionStoreWriter(String source, Retention<K> retention, DataStore<K, V> store, WaterMarksClock waterMarksClock) { this._source = source; this._retention = retention; this._store = store; this._waterMarksClock = waterMarksClock; // Initialize the high water mark scn _hwmScn = waterMarksClock.getHWMScn(source); // Reset low/high water marks if necessary long lwmScn = waterMarksClock.getLWMScn(source); if(_hwmScn < lwmScn) { lwmScn = _hwmScn; waterMarksClock.updateWaterMarks(source, lwmScn, _hwmScn); } else { waterMarksClock.setHWMark(source, _hwmScn); } // Log water marks getLogger().info(String.format("init %s lwmScn=%d hwmScn=%d", source, lwmScn, _hwmScn)); }