@Override public void flush() { if (writeFn != null) { writeFn.flush(); } }
/** * {@inheritDoc} */ @Override public void flush() { try { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); writeFn.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); } catch (Exception e) { String errMsg = "Failed to flush remote store"; logger.error(errMsg, e); throw new SamzaException(errMsg, e); } }
/** * {@inheritDoc} */ @Override public void flush() { try { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); writeFn.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); } catch (Exception e) { String errMsg = "Failed to flush remote store"; logger.error(errMsg, e); throw new SamzaException(errMsg, e); } }
/** * {@inheritDoc} */ @Override public void flush() { try { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); writeFn.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); } catch (Exception e) { String errMsg = "Failed to flush remote store"; logger.error(errMsg, e); throw new SamzaException(errMsg, e); } }
/** * {@inheritDoc} */ @Override public void flush() { try { writeMetrics.numFlushes.inc(); long startNs = System.nanoTime(); writeFn.flush(); writeMetrics.flushNs.update(System.nanoTime() - startNs); } catch (Exception e) { String errMsg = "Failed to flush remote store"; logger.error(errMsg, e); throw new SamzaException(errMsg, e); } }
@Test public void testFlush() { TableWriteFunction<String, String> writeFn = mock(TableWriteFunction.class); RemoteTable<String, String> table = getTable("testFlush", mock(TableReadFunction.class), writeFn, false); table.flush(); verify(writeFn, times(1)).flush(); }
@Test public void testFlushAndClose() { TableRetryPolicy policy = new TableRetryPolicy(); policy.withFixedBackoff(Duration.ofMillis(100)); TableReadFunction readFn = mock(TableReadFunction.class); TableWriteFunction writeFn = mock(TableWriteFunction.class); AsyncReadWriteTable delegate = new AsyncRemoteTable(readFn, writeFn); AsyncRetriableTable table = new AsyncRetriableTable("t1", delegate, null, policy, schedExec, readFn, writeFn); table.flush(); verify(writeFn, times(1)).flush(); table.close(); verify(readFn, times(1)).close(); verify(writeFn, times(1)).close(); } }
@Test public void testFlushAndClose() { TableRateLimiter readRateLimiter = mock(TableRateLimiter.class); TableRateLimiter writeRateLimiter = mock(TableRateLimiter.class); TableReadFunction<String, String> readFn = mock(TableReadFunction.class); TableWriteFunction<String, String> writeFn = mock(TableWriteFunction.class); AsyncReadWriteTable delegate = new AsyncRemoteTable(readFn, writeFn); AsyncRateLimitedTable table = new AsyncRateLimitedTable("t1", delegate, readRateLimiter, writeRateLimiter, schedExec); table.init(TestRemoteTable.getMockContext()); table.flush(); verify(writeFn, times(1)).flush(); table.close(); verify(readFn, times(1)).close(); verify(writeFn, times(1)).close(); }