if (isSink) { tableDescriptor = new RemoteTableDescriptor<>(TEST_TABLE_ID + "-" + ioName.replace(".", "-").replace("$", "-")) .withReadFunction(new InMemoryReadFunction()) .withWriteFunction(new InMemoryWriteFunction()); } else if (sourceComponents[systemIdx].equals(TEST_REMOTE_STORE_SYSTEM)) { tableDescriptor = new RemoteTableDescriptor<>(TEST_TABLE_ID + "-" + ioName.replace(".", "-").replace("$", "-")) .withReadFunction(new InMemoryReadFunction()); } else {
@Test public void testSerializeNullWriteFunction() { String tableId = "1"; RemoteTableDescriptor desc = new RemoteTableDescriptor(tableId) .withReadFunction(createMockTableReadFunction()); Map<String, String> tableConfig = desc.toConfig(new MapConfig()); assertExists(RemoteTableDescriptor.READ_FN, tableId, tableConfig); assertEquals(null, RemoteTableDescriptor.WRITE_FN, tableId, tableConfig); }
@Test(expected = IllegalArgumentException.class) public void testSpecifyBothRateAndRateLimiter() { RemoteTableDescriptor desc = new RemoteTableDescriptor("1"); desc.withReadFunction(createMockTableReadFunction()); desc.withReadRateLimit(100); desc.withRateLimiter(createMockRateLimiter(), null, null); desc.toConfig(new MapConfig()); }
private void doTestSerialize(RateLimiter rateLimiter, TableRateLimiter.CreditFunction readCredFn, TableRateLimiter.CreditFunction writeCredFn) { String tableId = "1"; RemoteTableDescriptor desc = new RemoteTableDescriptor(tableId) .withReadFunction(createMockTableReadFunction()) .withWriteFunction(createMockTableWriteFunction()); if (rateLimiter != null) { desc.withRateLimiter(rateLimiter, readCredFn, writeCredFn); } else { desc.withReadRateLimit(100); desc.withWriteRateLimit(200); } Map<String, String> tableConfig = desc.toConfig(new MapConfig()); assertExists(RemoteTableDescriptor.RATE_LIMITER, tableId, tableConfig); Assert.assertEquals(readCredFn != null, tableConfig.containsKey(JavaTableConfig.buildKey(tableId, RemoteTableDescriptor.READ_CREDIT_FN))); Assert.assertEquals(writeCredFn != null, tableConfig.containsKey(JavaTableConfig.buildKey(tableId, RemoteTableDescriptor.WRITE_CREDIT_FN))); }
private void doTestDeserializeReadFunctionAndLimiter(boolean rateOnly, boolean rlGets, boolean rlPuts) { int numRateLimitOps = (rlGets ? 1 : 0) + (rlPuts ? 1 : 0); RemoteTableDescriptor<String, String> desc = new RemoteTableDescriptor("1") .withReadFunction(createMockTableReadFunction()) .withReadRetryPolicy(new TableRetryPolicy().withRetryPredicate((ex) -> false)) .withWriteFunction(createMockTableWriteFunction())