Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] ProcessEvent method in the Integration connector is being driven twice for one event #7215

Closed
1 task done
davidradl opened this issue Dec 2, 2022 · 7 comments
Closed
1 task done
Assignees
Labels
bug Something isn't working

Comments

@davidradl
Copy link
Member

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

in the sample lineage connector the processEvent method is driven twice for the same event. This can be seen in the audit log. The processEvent does not throw an Exception in either run, so Kafka should not be retrying the event.

Expected Behavior

the processEvent method should only be driven once

Steps To Reproduce

No response

Environment

- Egeria:
- OS:
- Java:
- Browser (for UI issues):
- Additional connectors and integration:

Any Further Information?

IK need to investigate further into the Kafka connector to understand what is happening. Maybe there is a Kafka trigger for this due to something in my kafka config that I could change.

@davidradl davidradl added bug Something isn't working triage New bug/issue which needs checking & assigning labels Dec 2, 2022
@davidradl davidradl self-assigned this Dec 2, 2022
@mandy-chessell
Copy link
Contributor

This is not necessarily a problem. Multiple delivery of the same event is possible - this is often called at "least once" delivery. How do you have kafka configured?

@planetf1
Copy link
Member

planetf1 commented Dec 2, 2022

In a stable single system, single partition kafka 'cluster' we'd expect to get very rare cases of multiple delivery

From time to time there may be a cluster rebalance - this can occur when a topic is added for example, and it's possible the kafka connector is not correctly committing offset when this happens
At startup we also rewind the offset intentially, but only when there is no offset saved

If nothing obvious comes up in your code/configuration or inspection of the framework code .I would recommend turning on DEBUG (LOGGING_LEVEL_ROOT ). This helps us to understand kafka's view of the world - when the rebalance happens etc, but it can be very noisy. You can try just doing the connector, which should log salient info

But ultimately the code will need to handle the potential for never receiving an event, or duplicates unless configured to guarantee once only delivery (which we don't do -- overhead)

@planetf1
Copy link
Member

planetf1 commented Dec 2, 2022

I noticed #7149 -- something I plan to look into

@davidradl
Copy link
Member Author

Thanks @planetf1 I will look into this, if it looks like the same issue - we can talk about who will fix it.

@planetf1 planetf1 self-assigned this Dec 5, 2022
@planetf1 planetf1 removed the triage New bug/issue which needs checking & assigning label Dec 5, 2022
@davidradl
Copy link
Member Author

@planetf1 - this is an artifact of the audit logging config I have. It is putting out 2 entries to the console for each log message. I suspect it is using he default log and then the destination defined in the connection configuration

@davidradl
Copy link
Member Author

closing

@planetf1
Copy link
Member

planetf1 commented Dec 6, 2022

Thanks for clarifying. That's good to know it wasn't a functional issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants