class ElasticsearchSinkBase extends RichSinkFunction<T> implements CheckpointedFunction {

	@Override
	public void open(Configuration parameters) throws Exception {
		client = callBridge.createClient(userConfig);
		callBridge.verifyClientConnection(client);
		bulkProcessor = buildBulkProcessor(new BulkProcessorListener());
		requestIndexer = callBridge.createBulkProcessorIndexer(bulkProcessor, flushOnCheckpoint, numPendingRequests);
		failureRequestIndexer = new BufferingNoOpRequestIndexer();
		elasticsearchSinkFunction.open();
	}

	public  ElasticsearchSinkBase(
		ElasticsearchApiCallBridge<C> callBridge,
		Map<String, String> userConfig,
		ElasticsearchSinkFunction<T> elasticsearchSinkFunction,
		ActionRequestFailureHandler failureHandler);

}