public abstract class SQLMetadataConnector extends Object implements MetadataStorageConnector
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_TRIES |
Constructor and Description |
---|
SQLMetadataConnector(com.google.common.base.Supplier<MetadataStorageConnectorConfig> config,
com.google.common.base.Supplier<MetadataStorageTablesConfig> tablesConfigSupplier) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
connectorIsTransientException(Throwable e) |
void |
createAuditTable() |
void |
createConfigTable() |
void |
createConfigTable(String tableName) |
void |
createDataSourceTable() |
void |
createDataSourceTable(String tableName) |
void |
createEntryTable(String tableName) |
void |
createLockTable(String tableName,
String entryTypeName) |
void |
createLogTable(String tableName,
String entryTypeName) |
void |
createPendingSegmentsTable() |
void |
createPendingSegmentsTable(String tableName) |
void |
createRulesTable() |
void |
createRulesTable(String tableName) |
void |
createSegmentTable() |
void |
createSegmentTable(String tableName) |
void |
createSupervisorsTable() |
void |
createSupervisorsTable(String tableName) |
void |
createTable(String tableName,
Iterable<String> sql) |
void |
createTaskTables() |
void |
deleteAllRecords(String tableName) |
MetadataStorageConnectorConfig |
getConfig() |
protected org.apache.commons.dbcp2.BasicDataSource |
getDatasource() |
abstract org.skife.jdbi.v2.DBI |
getDBI() |
protected String |
getPayloadType()
SQL type to use for payload data (e.g.
|
abstract String |
getQuoteString() |
protected abstract String |
getSerialType()
Auto-incrementing SQL type to use for IDs
Must be an integer type, which values will be automatically set by the database
The resulting string will be interpolated into the table creation statement, e.g.
|
protected abstract int |
getStreamingFetchSize()
Returns the value that should be passed to statement.setFetchSize to ensure results
are streamed back from the database instead of fetching the entire result set in memory.
|
String |
getValidationQuery() |
protected <T> T |
inReadOnlyTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback) |
Void |
insertOrUpdate(String tableName,
String keyColumn,
String valueColumn,
String key,
byte[] value) |
boolean |
isTransientException(Throwable e) |
byte[] |
lookup(String tableName,
String keyColumn,
String valueColumn,
String key) |
byte[] |
lookupWithHandle(org.skife.jdbi.v2.Handle handle,
String tableName,
String keyColumn,
String valueColumn,
String key) |
<T> T |
retryTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback,
int quietTries,
int maxTries) |
<T> T |
retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback) |
<T> T |
retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback,
com.google.common.base.Predicate<Throwable> myShouldRetry) |
abstract boolean |
tableExists(org.skife.jdbi.v2.Handle handle,
String tableName) |
public static final int DEFAULT_MAX_TRIES
public SQLMetadataConnector(com.google.common.base.Supplier<MetadataStorageConnectorConfig> config, com.google.common.base.Supplier<MetadataStorageTablesConfig> tablesConfigSupplier)
protected String getPayloadType()
CREATE TABLE druid_table ( payload NOT NULL, ... )
protected abstract String getSerialType()
CREATE TABLE druid_table ( id NOT NULL, ... )
protected abstract int getStreamingFetchSize()
public abstract String getQuoteString()
public String getValidationQuery()
public abstract boolean tableExists(org.skife.jdbi.v2.Handle handle, String tableName)
public <T> T retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback, com.google.common.base.Predicate<Throwable> myShouldRetry)
public <T> T retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback)
public <T> T retryTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback, int quietTries, int maxTries)
public final boolean isTransientException(Throwable e)
protected boolean connectorIsTransientException(Throwable e)
public void createPendingSegmentsTable(String tableName)
public void createDataSourceTable(String tableName)
public void createSegmentTable(String tableName)
public void createRulesTable(String tableName)
public void createConfigTable(String tableName)
public void createEntryTable(String tableName)
public void createSupervisorsTable(String tableName)
public Void insertOrUpdate(String tableName, String keyColumn, String valueColumn, String key, byte[] value) throws Exception
insertOrUpdate
in interface MetadataStorageConnector
Exception
public abstract org.skife.jdbi.v2.DBI getDBI()
public void createDataSourceTable()
createDataSourceTable
in interface MetadataStorageConnector
public void createPendingSegmentsTable()
createPendingSegmentsTable
in interface MetadataStorageConnector
public void createSegmentTable()
createSegmentTable
in interface MetadataStorageConnector
public void createRulesTable()
createRulesTable
in interface MetadataStorageConnector
public void createConfigTable()
createConfigTable
in interface MetadataStorageConnector
public void createTaskTables()
createTaskTables
in interface MetadataStorageConnector
public void createSupervisorsTable()
createSupervisorsTable
in interface MetadataStorageConnector
public byte[] lookup(String tableName, String keyColumn, String valueColumn, String key)
lookup
in interface MetadataStorageConnector
public byte[] lookupWithHandle(org.skife.jdbi.v2.Handle handle, String tableName, String keyColumn, String valueColumn, String key)
public MetadataStorageConnectorConfig getConfig()
protected org.apache.commons.dbcp2.BasicDataSource getDatasource()
protected final <T> T inReadOnlyTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback)
public void createAuditTable()
createAuditTable
in interface MetadataStorageConnector
public void deleteAllRecords(String tableName)
deleteAllRecords
in interface MetadataStorageConnector
Copyright © 2011–2017. All rights reserved.