T - Type of the record.public class FlinkPulsarSink<T> extends org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>
| Modifier and Type | Class and Description |
|---|---|
static class |
FlinkPulsarSinkBase.PulsarTransactionState<T>
State for handling transactions.
|
static class |
FlinkPulsarSinkBase.TransactionStateSerializer<T>
TypeSerializer for
FlinkPulsarSinkBase.PulsarTransactionState. |
org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction.State<TXN,CONTEXT>, org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction.StateSerializer<TXN,CONTEXT>, org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction.StateSerializerConfigSnapshot<TXN,CONTEXT>, org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction.StateSerializerSnapshot<TXN,CONTEXT>, org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction.TransactionHolder<TXN>| Modifier and Type | Field and Description |
|---|---|
protected org.apache.pulsar.client.admin.PulsarAdmin |
admin |
protected String |
adminUrl |
protected Map<String,String> |
caseInsensitiveParams |
protected org.apache.pulsar.client.impl.conf.ClientConfigurationData |
clientConfigurationData |
protected String |
defaultTopic |
protected Throwable |
failedWrite |
protected boolean |
failOnWrite |
protected boolean |
flushOnCheckpoint |
protected boolean |
forcedTopic |
protected long |
maxBlockTimeMs |
protected org.apache.pulsar.client.api.MessageRouter |
messageRouter |
protected long |
pendingRecords
Number of unacknowledged records.
|
protected org.apache.flink.util.SerializableObject |
pendingRecordsLock
Lock for accessing the pending records.
|
protected Map<String,Object> |
producerConf |
protected Properties |
properties |
protected PulsarSinkSemantic |
semantic
Semantic chosen for this instance.
|
protected BiConsumer<org.apache.pulsar.client.api.MessageId,Throwable> |
sendCallback |
protected int |
sendTimeOutMs |
protected org.apache.pulsar.client.api.Producer<T> |
singleProducer |
protected ConcurrentHashMap<org.apache.pulsar.client.api.transaction.TxnID,List<CompletableFuture<org.apache.pulsar.client.api.MessageId>>> |
tid2FuturesMap |
protected ConcurrentHashMap<org.apache.pulsar.client.api.transaction.TxnID,List<org.apache.pulsar.client.api.MessageId>> |
tid2MessagesMap |
protected Map<String,org.apache.pulsar.client.api.Producer<T>> |
topic2Producer |
protected long |
transactionTimeout |
| Constructor and Description |
|---|
FlinkPulsarSink(String adminUrl,
Optional<String> defaultTopicName,
org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf,
Properties properties,
PulsarSerializationSchema serializationSchema) |
FlinkPulsarSink(String adminUrl,
Optional<String> defaultTopicName,
org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf,
Properties properties,
PulsarSerializationSchema serializationSchema,
org.apache.pulsar.client.api.MessageRouter messageRouter,
PulsarSinkSemantic semantic) |
FlinkPulsarSink(String adminUrl,
Optional<String> defaultTopicName,
org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf,
Properties properties,
PulsarSerializationSchema serializationSchema,
PulsarSinkSemantic semantic) |
FlinkPulsarSink(String serviceUrl,
String adminUrl,
Optional<String> defaultTopicName,
Properties properties,
PulsarSerializationSchema<T> serializationSchema) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
abort(FlinkPulsarSinkBase.PulsarTransactionState<T> transactionState) |
protected FlinkPulsarSinkBase.PulsarTransactionState<T> |
beginTransaction() |
protected void |
checkErroneous() |
void |
close() |
protected void |
commit(FlinkPulsarSinkBase.PulsarTransactionState<T> transactionState) |
protected org.apache.pulsar.client.api.Producer<T> |
createProducer(org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf,
Map<String,Object> producerConf,
String topic,
org.apache.pulsar.client.api.Schema<T> schema) |
protected org.apache.pulsar.client.api.Producer<T> |
getProducer(String topic) |
protected void |
initializeSendCallback() |
void |
initializeState(org.apache.flink.runtime.state.FunctionInitializationContext context) |
void |
invoke(FlinkPulsarSinkBase.PulsarTransactionState<T> transactionState,
T value,
org.apache.flink.streaming.api.functions.sink.SinkFunction.Context context) |
void |
open(org.apache.flink.configuration.Configuration parameters) |
protected void |
preCommit(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction) |
protected void |
producerClose() |
void |
producerFlush(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction) |
protected void |
recoverAndAbort(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction) |
protected void |
recoverAndCommit(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction) |
void |
snapshotState(org.apache.flink.runtime.state.FunctionSnapshotContext context) |
currentTransaction, enableTransactionTimeoutWarnings, finishRecoveringContext, getUserContext, ignoreFailuresAfterTransactionTimeout, initializeUserContext, invoke, invoke, notifyCheckpointAborted, notifyCheckpointComplete, pendingTransactions, setTransactionTimeoutprotected String adminUrl
protected org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConfigurationData
protected final Properties properties
protected boolean flushOnCheckpoint
protected boolean failOnWrite
protected long transactionTimeout
protected long maxBlockTimeMs
protected int sendTimeOutMs
protected final org.apache.flink.util.SerializableObject pendingRecordsLock
protected long pendingRecords
protected ConcurrentHashMap<org.apache.pulsar.client.api.transaction.TxnID,List<org.apache.pulsar.client.api.MessageId>> tid2MessagesMap
protected ConcurrentHashMap<org.apache.pulsar.client.api.transaction.TxnID,List<CompletableFuture<org.apache.pulsar.client.api.MessageId>>> tid2FuturesMap
protected final boolean forcedTopic
protected final String defaultTopic
protected final org.apache.pulsar.client.api.MessageRouter messageRouter
protected transient volatile Throwable failedWrite
protected transient org.apache.pulsar.client.admin.PulsarAdmin admin
protected transient BiConsumer<org.apache.pulsar.client.api.MessageId,Throwable> sendCallback
protected PulsarSinkSemantic semantic
protected transient org.apache.pulsar.client.api.Producer<T> singleProducer
public FlinkPulsarSink(String adminUrl, Optional<String> defaultTopicName, org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf, Properties properties, PulsarSerializationSchema serializationSchema, org.apache.pulsar.client.api.MessageRouter messageRouter, PulsarSinkSemantic semantic)
public FlinkPulsarSink(String adminUrl, Optional<String> defaultTopicName, org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf, Properties properties, PulsarSerializationSchema serializationSchema, PulsarSinkSemantic semantic)
public FlinkPulsarSink(String adminUrl, Optional<String> defaultTopicName, org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf, Properties properties, PulsarSerializationSchema serializationSchema)
public FlinkPulsarSink(String serviceUrl, String adminUrl, Optional<String> defaultTopicName, Properties properties, PulsarSerializationSchema<T> serializationSchema)
public void invoke(FlinkPulsarSinkBase.PulsarTransactionState<T> transactionState, T value, org.apache.flink.streaming.api.functions.sink.SinkFunction.Context context) throws Exception
invoke in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Exceptionpublic void snapshotState(org.apache.flink.runtime.state.FunctionSnapshotContext context)
throws Exception
snapshotState in interface org.apache.flink.streaming.api.checkpoint.CheckpointedFunctionsnapshotState in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Exceptionpublic void initializeState(org.apache.flink.runtime.state.FunctionInitializationContext context)
throws Exception
initializeState in interface org.apache.flink.streaming.api.checkpoint.CheckpointedFunctioninitializeState in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Exceptionpublic void open(org.apache.flink.configuration.Configuration parameters)
throws Exception
open in interface org.apache.flink.api.common.functions.RichFunctionopen in class org.apache.flink.api.common.functions.AbstractRichFunctionExceptionprotected void initializeSendCallback()
public void close()
throws Exception
close in interface org.apache.flink.api.common.functions.RichFunctionclose in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Exceptionprotected org.apache.pulsar.client.api.Producer<T> getProducer(String topic)
protected org.apache.pulsar.client.api.Producer<T> createProducer(org.apache.pulsar.client.impl.conf.ClientConfigurationData clientConf,
Map<String,Object> producerConf,
String topic,
org.apache.pulsar.client.api.Schema<T> schema)
public void producerFlush(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction) throws Exception
Exceptionprotected FlinkPulsarSinkBase.PulsarTransactionState<T> beginTransaction() throws Exception
beginTransaction in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Exceptionprotected void preCommit(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction) throws Exception
preCommit in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Exceptionprotected void commit(FlinkPulsarSinkBase.PulsarTransactionState<T> transactionState)
commit in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>protected void abort(FlinkPulsarSinkBase.PulsarTransactionState<T> transactionState)
abort in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>protected void recoverAndCommit(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction)
recoverAndCommit in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>protected void recoverAndAbort(FlinkPulsarSinkBase.PulsarTransactionState<T> transaction)
recoverAndAbort in class org.apache.flink.streaming.api.functions.sink.TwoPhaseCommitSinkFunction<T,FlinkPulsarSinkBase.PulsarTransactionState<T>,Void>Copyright © 2019–2021 The Apache Software Foundation. All rights reserved.