SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(0);
public boolean add(SourceRecord record) { if (topicName.equals(record.topic())) { this.sourceRecords.add(record); String dbName = getAffectedDatabase(record); sourceRecordsByDbName.computeIfAbsent(dbName, db->new ArrayList<>()).add(record); return true; } return false; }
@Test(expected = ConnectException.class) public void shouldCreateSnapshotSchemaOnlyRecovery_exception() throws Exception { config = simpleConfig().with(MySqlConnectorConfig.SNAPSHOT_MODE, MySqlConnectorConfig.SnapshotMode.SCHEMA_ONLY_RECOVERY).build(); context = new MySqlTaskContext(config, new Filters.Builder(config).build()); context.start(); reader = new SnapshotReader("snapshot", context); reader.uponCompletion(completed::countDown); reader.generateInsertEvents(); // Start the snapshot ... reader.start(); // Poll for records ... // Testing.Print.enable(); List<SourceRecord> records = null; KeyValueStore store = KeyValueStore.createForTopicsBeginningWith(DATABASE.getServerName() + "."); SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.isValid(record); VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); } // should fail because we have no existing binlog information }
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(14); assertThat(schemaChanges.databaseCount()).isEqualTo(2); assertThat(schemaChanges.databases()).containsOnly(DATABASE.getDatabaseName(), "");
assertThat(schemaChanges.recordCount()).isEqualTo(0);
@Before public void beforeEach() { Testing.Files.delete(DB_HISTORY_PATH); DATABASE.createAndInitialize(); this.store = KeyValueStore.createForTopicsBeginningWith(DATABASE.getServerName() + "."); this.schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); }
protected int consumeAtLeast(int minNumber, long timeout, TimeUnit unit) throws InterruptedException { AtomicInteger counter = new AtomicInteger(); List<SourceRecord> records = null; long startTime = System.currentTimeMillis(); while (counter.get() < minNumber && (System.currentTimeMillis() - startTime) < unit.toMillis(timeout)) { records = reader.poll(); if (records != null) { records.forEach(record -> { counter.incrementAndGet(); VerifyRecord.isValid(record); store.add(record); schemaChanges.add(record); }); Testing.print("" + counter.get() + " records"); } } return counter.get(); }
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(14); assertThat(schemaChanges.databaseCount()).isEqualTo(2); assertThat(schemaChanges.databases()).containsOnly(DATABASE.getDatabaseName(), "");
@Test(expected = ConnectException.class) public void shouldCreateSnapshotSchemaOnlyRecovery_exception() throws Exception { config = simpleConfig().with(MySqlConnectorConfig.SNAPSHOT_MODE, MySqlConnectorConfig.SnapshotMode.SCHEMA_ONLY_RECOVERY).build(); context = new MySqlTaskContext(config, new Filters.Builder(config).build()); context.start(); reader = new SnapshotReader("snapshot", context); reader.uponCompletion(completed::countDown); reader.generateInsertEvents(); // Start the snapshot ... reader.start(); // Poll for records ... // Testing.Print.enable(); List<SourceRecord> records = null; KeyValueStore store = KeyValueStore.createForTopicsBeginningWith(DATABASE.getServerName() + "."); SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.isValid(record); VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); } // should fail because we have no existing binlog information }
assertThat(schemaChanges.recordCount()).isEqualTo(expectedSchemaChangeCount);
@Before public void beforeEach() { Testing.Files.delete(DB_HISTORY_PATH); DATABASE.createAndInitialize(); this.store = KeyValueStore.createForTopicsBeginningWith(DATABASE.getServerName() + "."); this.schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); }
protected int consumeAtLeast(int minNumber, long timeout, TimeUnit unit) throws InterruptedException { AtomicInteger counter = new AtomicInteger(); List<SourceRecord> records = null; long startTime = System.currentTimeMillis(); while (counter.get() < minNumber && (System.currentTimeMillis() - startTime) < unit.toMillis(timeout)) { records = reader.poll(); if (records != null) { records.forEach(record -> { counter.incrementAndGet(); VerifyRecord.isValid(record); store.add(record); schemaChanges.add(record); }); Testing.print("" + counter.get() + " records"); } } return counter.get(); }
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); System.out.println(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(0);
assertThat(schemaChanges.recordCount()).isEqualTo(0);
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(0);
assertThat(schemaChanges.recordCount()).isEqualTo(expectedSchemaChangeCount);
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(0);
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); System.out.println(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(0);
SchemaChangeHistory schemaChanges = new SchemaChangeHistory(DATABASE.getServerName()); while ((records = reader.poll()) != null) { records.forEach(record -> { VerifyRecord.hasNoSourceQuery(record); store.add(record); schemaChanges.add(record); }); assertThat(schemaChanges.recordCount()).isEqualTo(0);