use of com.linkedin.databus.bootstrap.common.BootstrapConn in project databus by linkedin.
the class BootstrapAddSource method getConnection.
/*
* @return a bootstrapDB connection object.
* Note: The connection object is still owned by BootstrapConn. SO dont close it
*/
public Connection getConnection() {
Connection conn = null;
if (_dbDao == null) {
LOG.info("<<<< Creating Bootstrap Connection!! >>>>");
BootstrapConn dbConn = new BootstrapConn();
try {
dbConn.initBootstrapConn(false, _config.getBootstrapDBUsername(), _config.getBootstrapDBPassword(), _config.getBootstrapDBHostname(), _config.getBootstrapDBName());
_dbDao = new BootstrapDBMetaDataDAO(dbConn, _config.getBootstrapDBHostname(), _config.getBootstrapDBUsername(), _config.getBootstrapDBPassword(), _config.getBootstrapDBName(), false);
} catch (Exception e) {
LOG.fatal("Unable to open BootstrapDB Connection !!", e);
throw new RuntimeException("Got exception when getting bootstrap DB Connection.", e);
}
}
try {
conn = _dbDao.getBootstrapConn().getDBConn();
} catch (SQLException e) {
LOG.fatal("Not able to open BootstrapDB Connection !!", e);
throw new RuntimeException("Got exception when getting bootstrap DB Connection.", e);
}
return conn;
}
use of com.linkedin.databus.bootstrap.common.BootstrapConn in project databus by linkedin.
the class BootstrapProducerCallback method getConnection.
private Connection getConnection() throws SQLException {
Connection conn = null;
if (_bootstrapDao == null) {
BootstrapConn dbConn = new BootstrapConn();
try {
final boolean autoCommit = false;
dbConn.initBootstrapConn(autoCommit, _config.getBootstrapDBUsername(), _config.getBootstrapDBPassword(), _config.getBootstrapDBHostname(), _config.getBootstrapDBName());
_bootstrapDao = new BootstrapDBMetaDataDAO(dbConn, _config.getBootstrapDBHostname(), _config.getBootstrapDBUsername(), _config.getBootstrapDBPassword(), _config.getBootstrapDBName(), autoCommit);
} catch (Exception e) {
LOG.fatal("Unable to open BootstrapDB Connection !!", e);
return null;
}
}
try {
conn = _bootstrapDao.getBootstrapConn().getDBConn();
} catch (SQLException e) {
if (null != _statsCollector)
_statsCollector.registerSQLException();
LOG.fatal("Not able to open BootstrapDB Connection !!", e);
throw e;
}
return conn;
}
use of com.linkedin.databus.bootstrap.common.BootstrapConn in project databus by linkedin.
the class BootstrapTableReader method getConnection.
public Connection getConnection() {
Connection conn = null;
if (_bootstrapConn == null) {
LOG.info("<<<< Creating Bootstrap Connection!! >>>>");
_bootstrapConn = new BootstrapConn();
try {
_bootstrapConn.initBootstrapConn(false, _bsStaticConfig.getBootstrap().getBootstrapDBUsername(), _bsStaticConfig.getBootstrap().getBootstrapDBPassword(), _bsStaticConfig.getBootstrap().getBootstrapDBHostname(), _bsStaticConfig.getBootstrap().getBootstrapDBName());
} catch (Exception e) {
LOG.fatal("Unable to open BootstrapDB Connection !!", e);
throw new RuntimeException("Got exception when getting bootstrap DB Connection.", e);
}
}
try {
conn = _bootstrapConn.getDBConn();
} catch (SQLException e) {
LOG.fatal("Not able to open BootstrapDB Connection !!", e);
throw new RuntimeException("Got exception when getting bootstrap DB Connection.", e);
}
return conn;
}
use of com.linkedin.databus.bootstrap.common.BootstrapConn in project databus by linkedin.
the class BootstrapTableReaderV2 method createBstConnection.
private BootstrapConn createBstConnection() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
_log.info("<<<< Creating Bootstrap Connection >>>>");
BootstrapConn bstConn = new BootstrapConn();
bstConn.initBootstrapConn(true, _bstConfig.getBootstrapDBUsername(), _bstConfig.getBootstrapDBPassword(), _bstConfig.getBootstrapDBHostname(), _bstConfig.getBootstrapDBName());
return bstConn;
}
use of com.linkedin.databus.bootstrap.common.BootstrapConn in project databus by linkedin.
the class TestBootstrap method testBootstrapProcessor.
@Test
public void testBootstrapProcessor() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException, IOException, BootstrapProcessingException, DatabusException, BootstrapDatabaseTooOldException, BootstrapDBException {
EventProcessor processorCallback = new EventProcessor();
BootstrapConfig config = new BootstrapConfig();
BootstrapReadOnlyConfig staticConfig = config.build();
BootstrapServerConfig configBuilder = new BootstrapServerConfig();
configBuilder.setEnableMinScnCheck(false);
BootstrapServerStaticConfig staticServerConfig = configBuilder.build();
BootstrapProcessor processor = new BootstrapProcessor(staticServerConfig, null);
String sourceName = "TestBootstrap.testBootstrapProcessor.events";
// Create the tables for all the sources before starting up the threads
BootstrapConn _bootstrapConn = new BootstrapConn();
boolean autoCommit = true;
_bootstrapConn.initBootstrapConn(autoCommit, staticConfig.getBootstrapDBUsername(), staticConfig.getBootstrapDBPassword(), staticConfig.getBootstrapDBHostname(), staticConfig.getBootstrapDBName());
BootstrapDBMetaDataDAO dao = new BootstrapDBMetaDataDAO(_bootstrapConn, staticConfig.getBootstrapDBHostname(), staticConfig.getBootstrapDBUsername(), staticConfig.getBootstrapDBPassword(), staticConfig.getBootstrapDBName(), autoCommit);
SourceStatusInfo srcStatusInfo = dao.getSrcIdStatusFromDB(sourceName, false);
if (srcStatusInfo.getSrcId() >= 0) {
dao.dropSourceInDB(srcStatusInfo.getSrcId());
}
dao.addNewSourceInDB(sourceName, BootstrapProducerStatus.ACTIVE);
srcStatusInfo = dao.getSrcIdStatusFromDB(sourceName, false);
setBootstrapLoginfoTable(_bootstrapConn, 0, Long.MAX_VALUE);
//insert one row
insertOneSnapshotEvent(dao, srcStatusInfo.getSrcId(), Long.MAX_VALUE - 10, Long.MAX_VALUE - 100, "check", "test_payload_data");
BootstrapCheckpointHandler bstCheckpointHandler = new BootstrapCheckpointHandler(sourceName);
Checkpoint c = bstCheckpointHandler.createInitialBootstrapCheckpoint(null, 0L);
c.setConsumptionMode(DbusClientMode.BOOTSTRAP_SNAPSHOT);
c.setBootstrapStartScn(Long.MAX_VALUE - 10);
c.setSnapshotOffset(Long.MAX_VALUE - 1000);
// System.out.println("Snapshot");
processor.streamSnapShotRows(c, processorCallback);
Assert.assertEquals(processorCallback.getrIds().size(), 1);
Assert.assertEquals(Long.MAX_VALUE - 10, processorCallback.getrIds().get(0).longValue());
Assert.assertEquals(Long.MAX_VALUE - 100, processorCallback.getSequences().get(0).longValue());
Assert.assertEquals("check", processorCallback.getSrcKeys().get(0));
Assert.assertEquals("test_payload_data", new String(processorCallback.getValues().get(0)));
processorCallback.reset();
c.setSnapshotOffset(Checkpoint.FULLY_CONSUMED_WINDOW_OFFSET);
c.setBootstrapTargetScn(c.getBootstrapStartScn().longValue());
bstCheckpointHandler.advanceAfterTargetScn(c);
bstCheckpointHandler.advanceAfterSnapshotPhase(c);
// c.setConsumptionMode(DbusClientMode.BOOTSTRAP_CATCHUP);
// c.setCatchupSource(sourceName);
// c.setWindowScn(0L);
// c.setWindowOffset(0);
// System.out.println("Catchup");
boolean phaseCompleted = processor.streamCatchupRows(c, processorCallback);
Assert.assertEquals(true, phaseCompleted);
}
Aggregations