@Override public Map<TableReference, byte[]> getMetadataForTables() { return delegate1.getMetadataForTables(); }
private void populateLoggingContext() { // TODO (jkong): Needs to be changed if/when we support dynamic table creation. LoggingArgs.hydrate(keyValueService.getMetadataForTables()); }
@Override public Map<TableReference, byte[]> getMetadataForTables() { Map<TableReference, byte[]> crossDelegateTableMetadata = Maps.newHashMap(); for (KeyValueService delegate : getDelegates()) { crossDelegateTableMetadata.putAll(delegate.getMetadataForTables()); } return crossDelegateTableMetadata; }
@Override public Map<TableReference, byte[]> getMetadataForTables() { return delegate().getMetadataForTables(); }
@Override public Map<TableReference, byte[]> getMetadataForTables() { Map<TableReference, byte[]> tableMetadata = delegate().getMetadataForTables(); Map<TableReference, TableReference> metadataNamesToFullTableNames = tableMapper.generateMapToFullTableNames( tableMetadata.keySet()); Map<TableReference, byte[]> fullTableNameToBytes = Maps.newHashMapWithExpectedSize( metadataNamesToFullTableNames.size()); for (Entry<TableReference, byte[]> entry : tableMetadata.entrySet()) { fullTableNameToBytes.put(metadataNamesToFullTableNames.get(entry.getKey()), entry.getValue()); } return fullTableNameToBytes; }
@Override public Map<TableReference, byte[]> getMetadataForTables() { //noinspection unused - try-with-resources closes trace try (CloseableTrace trace = startLocalTrace("getMetadataForTables()")) { return delegate().getMetadataForTables(); } }
private static Map<TableReference, SweepStrategy> getSweepStrategies(KeyValueService kvs) { return ImmutableMap.copyOf(Maps.transformEntries(kvs.getMetadataForTables(), (tableRef, tableMetadata) -> { if (tableMetadata != null && tableMetadata.length > 0) { return TableMetadata.BYTES_HYDRATOR.hydrateFromBytes(tableMetadata).getSweepStrategy(); } else { return SweepStrategy.CONSERVATIVE; } })); }
@Test public void getMetadataForTables() throws Exception { Map<TableReference, byte[]> expectedResult = ImmutableMap.of(TABLE_REF, METADATA_BYTES); when(delegate.getMetadataForTables()).thenReturn(expectedResult); Map<TableReference, byte[]> result = kvs.getMetadataForTables(); assertThat(result, equalTo(expectedResult)); checkSpan("atlasdb-kvs.getMetadataForTables()"); verify(delegate).getMetadataForTables(); verifyNoMoreInteractions(delegate); }
try { conflictDetectionManager.warmCacheWith( Maps.transformValues(kvs.getMetadataForTables(), metadata -> { if (metadata == null) { log.debug("Metadata was null for a table. likely because the table is currently "
@Test public void getMetadataForTablesReturnsWithCorrectCapitalization() { kvs.createTable(UPPER_UPPER, AtlasDbConstants.GENERIC_TABLE_METADATA); assertThat(kvs.getMetadataForTables().keySet()) .contains(UPPER_UPPER) .doesNotContain(LOWER_LOWER); }
@Test public void metadataForNewTableMatchesCase() { TableReference userTable = TableReference.createFromFullyQualifiedName("test.xXcOoLtAbLeNaMeXx"); keyValueService.createTable(userTable, ORIGINAL_METADATA); assertThat(keyValueService.getMetadataForTables().keySet().contains(userTable), is(true)); }
@Test public void nonExistentTablesWithMetadataDoNotAppearInGetMetadataForTables() { insertMetadataIntoNewCell(LOWER_UPPER); assertThat(kvs.getMetadataForTables()).isEmpty(); }
@Test public void createTablesWithDifferentCapitalizationCreatesInCassandraAndDoesNotUpdateMetadata() { createTablesIgnoringException(); assertThat(kvs.getAllTableNames()).containsExactlyInAnyOrderElementsOf(TABLES); assertThat(kvs.getMetadataForTables()).isEmpty(); }
@Test public void getMetadataReturnsResultFromNewMetadataCellOnConflict() { kvs.createTable(LOWER_UPPER, ORIGINAL_METADATA); insertGenericMetadataIntoLegacyCell(kvs, LOWER_UPPER); assertThat(kvs.getMetadataForTables().get(LOWER_UPPER)).contains(ORIGINAL_METADATA); assertThat(kvs.getMetadataForTable(LOWER_UPPER)).contains(ORIGINAL_METADATA); }
@Test public void droppedTableHasNoObservableMetadata() { kvs.createTable(LOWER_UPPER, AtlasDbConstants.GENERIC_TABLE_METADATA); kvs.dropTable(LOWER_UPPER); assertThat(kvs.getMetadataForTables()).isEmpty(); assertThat(kvs.getMetadataForTable(LOWER_UPPER)).isEmpty(); }
@Test public void droppingTablesCleansUpLegacyMetadataAndDoesNotAffectOtherTables() { TableReference longerInRange = TableReference.createFromFullyQualifiedName("test.TABLEs"); TableReference shorterInRange = TableReference.createFromFullyQualifiedName("test.TABL"); kvs.createTable(LOWER_UPPER, AtlasDbConstants.GENERIC_TABLE_METADATA); kvs.createTable(longerInRange, AtlasDbConstants.GENERIC_TABLE_METADATA); kvs.createTable(shorterInRange, AtlasDbConstants.GENERIC_TABLE_METADATA); clearOutMetadataTable(kvs); insertMetadataIntoNewCell(LOWER_UPPER); insertGenericMetadataIntoLegacyCell(kvs, LOWER_UPPER); insertGenericMetadataIntoLegacyCell(kvs, UPPER_UPPER); insertGenericMetadataIntoLegacyCell(kvs, longerInRange); insertGenericMetadataIntoLegacyCell(kvs, shorterInRange); kvs.dropTable(LOWER_UPPER); assertThat(kvs.getMetadataForTables().keySet()).containsExactlyInAnyOrder(longerInRange, shorterInRange); assertThat(kvs.getMetadataForTable(LOWER_UPPER)).isEmpty(); }
@Override public Map<TableReference, byte[]> getMetadataForTables() { Map<TableReference, byte[]> crossDelegateTableMetadata = Maps.newHashMap(); for (KeyValueService delegate : getDelegates()) { crossDelegateTableMetadata.putAll(delegate.getMetadataForTables()); } return crossDelegateTableMetadata; }
@Override public Map<TableReference, byte[]> getMetadataForTables() { Map<TableReference, byte[]> tableMetadata = delegate().getMetadataForTables(); Map<TableReference, TableReference> metadataNamesToFullTableNames = tableMapper.generateMapToFullTableNames( tableMetadata.keySet()); Map<TableReference, byte[]> fullTableNameToBytes = Maps.newHashMapWithExpectedSize( metadataNamesToFullTableNames.size()); for (Entry<TableReference, byte[]> entry : tableMetadata.entrySet()) { fullTableNameToBytes.put(metadataNamesToFullTableNames.get(entry.getKey()), entry.getValue()); } return fullTableNameToBytes; }
@Override public Map<TableReference, byte[]> getMetadataForTables() { //noinspection unused - try-with-resources closes trace try (CloseableTrace trace = startLocalTrace("getMetadataForTables()")) { return delegate().getMetadataForTables(); } }
private static Map<TableReference, SweepStrategy> getSweepStrategies(KeyValueService kvs) { return ImmutableMap.copyOf(Maps.transformEntries(kvs.getMetadataForTables(), (tableRef, tableMetadata) -> { if (tableMetadata != null && tableMetadata.length > 0) { return TableMetadata.BYTES_HYDRATOR.hydrateFromBytes(tableMetadata).getSweepStrategy(); } else { return SweepStrategy.CONSERVATIVE; } })); }