C
- The Elasticsearch client, that implements AutoCloseable
.@Internal public interface ElasticsearchApiCallBridge<C extends AutoCloseable> extends Serializable
ElasticsearchApiCallBridge
is used to bridge incompatible Elasticsearch Java API calls across different versions.
This includes calls to create Elasticsearch clients, handle failed item responses, etc. Any incompatible Elasticsearch
Java APIs should be bridged using this interface.
Implementations are allowed to be stateful. For example, for Elasticsearch 1.x, since connecting via an embedded node is allowed, the call bridge will hold reference to the created embedded node. Each instance of the sink will hold exactly one instance of the call bridge, and state cleanup is performed when the sink is closed.
Modifier and Type | Method and Description |
---|---|
default void |
cleanup()
Perform any necessary state cleanup.
|
void |
configureBulkProcessorBackoff(org.elasticsearch.action.bulk.BulkProcessor.Builder builder,
ElasticsearchSinkBase.BulkFlushBackoffPolicy flushBackoffPolicy)
Set backoff-related configurations on the provided
BulkProcessor.Builder . |
org.elasticsearch.action.bulk.BulkProcessor.Builder |
createBulkProcessorBuilder(C client,
org.elasticsearch.action.bulk.BulkProcessor.Listener listener)
Creates a
BulkProcessor.Builder for creating the bulk processor. |
default RequestIndexer |
createBulkProcessorIndexer(org.elasticsearch.action.bulk.BulkProcessor bulkProcessor,
boolean flushOnCheckpoint,
AtomicLong numPendingRequestsRef)
Creates a
RequestIndexer that is able to work with BulkProcessor binary compatible. |
C |
createClient(Map<String,String> clientConfig)
Creates an Elasticsearch client implementing
AutoCloseable . |
Throwable |
extractFailureCauseFromBulkItemResponse(org.elasticsearch.action.bulk.BulkItemResponse bulkItemResponse)
Extracts the cause of failure of a bulk item action.
|
C createClient(Map<String,String> clientConfig) throws IOException
AutoCloseable
.clientConfig
- The configuration to use when constructing the client.IOException
org.elasticsearch.action.bulk.BulkProcessor.Builder createBulkProcessorBuilder(C client, org.elasticsearch.action.bulk.BulkProcessor.Listener listener)
BulkProcessor.Builder
for creating the bulk processor.client
- the Elasticsearch client.listener
- the bulk processor listender.@Nullable Throwable extractFailureCauseFromBulkItemResponse(org.elasticsearch.action.bulk.BulkItemResponse bulkItemResponse)
bulkItemResponse
- the bulk item response to extract cause of failureThrowable
from the response (null
is the response is successful).void configureBulkProcessorBackoff(org.elasticsearch.action.bulk.BulkProcessor.Builder builder, @Nullable ElasticsearchSinkBase.BulkFlushBackoffPolicy flushBackoffPolicy)
BulkProcessor.Builder
.
The builder will be later on used to instantiate the actual BulkProcessor
.builder
- the BulkProcessor.Builder
to configure.flushBackoffPolicy
- user-provided backoff retry settings (null
if the user disabled backoff retries).default RequestIndexer createBulkProcessorIndexer(org.elasticsearch.action.bulk.BulkProcessor bulkProcessor, boolean flushOnCheckpoint, AtomicLong numPendingRequestsRef)
RequestIndexer
that is able to work with BulkProcessor
binary compatible.default void cleanup()
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.