[
https://issues.apache.org/jira/browse/ATLAS-3305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16875949#comment-16875949
]
Sarath Subramanian commented on ATLAS-3305:
-------------------------------------------
[~arempter], your solution to spawn multiple threads for
NotificationHookConsumer doesn't consider the order of messages coming to the
kafka topic - *ATLAS_HOOK*.
For e.g. if we have the following messages:
* *m1*: CREATE HIVE TABLE 't1'
* *m2*: UPDATE HIVE TABLE 't1'
* *m3*: UPDATE HIVE TABLE 't1'
* *m4*: DROP HIVE TABLE 't1'
The update message (*m2*) should not be processed before create message (*m1*)
and drop message (*m4*) should not be processed until *m1*, *m2* and *m3* are
processed.
Do you have a solution which addresses the above case?
> Unable to scale atlas kafka consumers
> -------------------------------------
>
> Key: ATLAS-3305
> URL: https://issues.apache.org/jira/browse/ATLAS-3305
> Project: Atlas
> Issue Type: Bug
> Components: atlas-core, atlas-intg
> Affects Versions: 1.1.0, 2.0.0
> Reporter: Adam Rempter
> Priority: Major
> Labels: performance
>
> We wanted to scale kafka consumers for atlas, as we are getting many lineage
> messages and processing them just with one consumer is not enough.
>
> There is parameter atlas.notification.hook.numthreads to scale consumers in
> NotificationHookConsumer.
> But the method:
>
> notificationInterface.createConsumers(NotificationType.HOOK, numThreads)
>
> is always returning one element list, which effectively always starts one
> consumer
> List<NotificationConsumer<T>> consumers =
> Collections.singletonList(kafkaConsumer);
>
> Log incorrectly says that nuber of consumers has been created:
> LOG.info("<== KafkaNotification.createConsumers(notificationType={},
> numConsumers={}, autoCommitEnabled={})", notificationType, numConsumers,
> autoCommitEnabled)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)