-
Notifications
You must be signed in to change notification settings - Fork 170
Notice
Notice
is sent and received by Suro sinks. For example, LocalFileSink can notify S3FileSink about its file rotation, and S3FileSink can get notice from LocalFileSink and start uploading files accordingly. After uploading is finished, S3FileSink can send corresponding notice to the next receiver. Notice interface can be created in its JSON configuration with the type
property. Notice interface sends String messages with send() method and receives String messages with recv() method.
Note that specifically, LocalFileSink should have queue
type notice by default to talk with S3FileSink. Also, when Notice.send()
fails, RemoteFileSink
including S3FileSink
and HdfsFileSink
will deleting files even though uploading is successful. So, if you don't have any requirements to communicate with downstream side, you have to use NoNotice
.
An no-op. Its recv() method will return null if called.
It uses a Java BlockingQueue internally. The send() method offers messages into the queue and recv() method polls from the queue. Its properties are the following:
Key | Description | type | Default value |
---|---|---|---|
length | capacity of of the queue | int | 100 |
recvTimeout | timeout value in milliseconds on polling the queue | int | 1000 |
It sends messages to AWS SQS. Its properties are the following:
Key | Description | type | Default value |
---|---|---|---|
queues | the list of SQS queue names | List | |
region | AWS region where SQS queues are | String | |
connectionTimeout | SQS API client configuration connection timeout in milliseconds | long | 50000 |
maxConnections | SQS API client configuration the number of connections | int | 50 |
socketTimeout | SQS API client configuration socket timeout in milliseconds | long | 50000 |
maxErrorRetry | SQS API client configuration the maximum number of retries | int | 3 |