[
https://issues.apache.org/jira/browse/EAGLE-670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15601333#comment-15601333
]
ASF GitHub Bot commented on EAGLE-670:
--------------------------------------
Github user haoch commented on a diff in the pull request:
https://github.com/apache/incubator-eagle/pull/556#discussion_r84639212
--- Diff:
eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/publisher/impl/AlertKafkaPublisher.java
---
@@ -96,44 +103,63 @@ public void close() {
}
@SuppressWarnings( {"rawtypes", "unchecked"})
- protected PublishStatus emit(String topic, List<AlertStreamEvent>
outputEvents) {
+ protected void emit(String topic, List<AlertStreamEvent> outputEvents)
{
// we need to check producer here since the producer is invisable
to extended kafka publisher
if (producer == null) {
LOG.warn("KafkaProducer is null due to the incorrect
configurations");
- return null;
+ return;
}
if (outputEvents == null) {
if (LOG.isDebugEnabled()) {
LOG.debug("Alert stream events list in publishment is
empty");
}
- return null;
+ return;
}
this.status = new PublishStatus();
try {
for (AlertStreamEvent outputEvent : outputEvents) {
ProducerRecord record = createRecord(outputEvent, topic);
if (record == null) {
LOG.error("Alert serialize return null, ignored
message! ");
- return null;
+ return;
+ }
+ if (mode == KafkaWriteMode.sync) {
+ Future<?> future = producer.send(record);
+ future.get(MAX_TIMEOUT_MS, TimeUnit.MILLISECONDS);
+ succeed(mode, "");
+ } else {
+ producer.send(record, new Callback() {
--- End diff --
This is not `async` mode in kafka language
> AlertEngine: Make Kafka Publisher configurable to async, for throughput tuning
> ------------------------------------------------------------------------------
>
> Key: EAGLE-670
> URL: https://issues.apache.org/jira/browse/EAGLE-670
> Project: Eagle
> Issue Type: Task
> Affects Versions: v0.5.0
> Reporter: Su Ralph
> Assignee: Garrett Li
> Fix For: v0.5.0
>
>
> Kafka send alert in sync would limit the throughput. Make this configurable,
> and use async by default.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)