[
https://issues.apache.org/jira/browse/GOBBLIN-1876?focusedWorklogId=876239&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-876239
]
ASF GitHub Bot logged work on GOBBLIN-1876:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 15/Aug/23 00:48
Start Date: 15/Aug/23 00:48
Worklog Time Spent: 10m
Work Description: homatthew opened a new pull request, #3738:
URL: https://github.com/apache/gobblin/pull/3738
Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I
have checked off all the steps below!
### JIRA
- [X] My PR addresses the following [Gobblin
JIRA](https://issues.apache.org/jira/browse/GOBBLIN/) issues and references
them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"
- https://issues.apache.org/jira/browse/GOBBLIN-XXX
### Description
- [X] Here are some details about my PR, including screenshots (if
applicable):
Gobblin has the ability to process records from multiple kafka brokers,
across multiple *.conf files and *.job files. But the tracking metadata /
observability does a poor job of specifying which broker the events correspond
to.
This is because Gobblin was written with the assumption that it would
consume from a single aggregate kafka broker (e.g. brooklin). But going
forward, we want to add support for multiple *.conf files each with their own
kafka broker. This change adds a utility for mapping the different Kafka broker
URI's to a simple human readable name that can be used within
`GobblinTrackingEvent` and `GobblinMetadataChangeEvent`s for Iceberg data loss
tracking.
### Tests
- [X] My PR adds the following unit tests __OR__ does not need testing for
this extremely good reason:
`gobblin-modules/gobblin-kafka-common/src/test/java/org/apache/gobblin/KafkaCommonUtilTest.java`
- tests that the map parsing works correctly
`gobblin-modules/gobblin-kafka-common/src/test/java/org/apache/gobblin/source/extractor/extract/kafka/KafkaExtractorTest.java`
- Tests the assumptions error codes for having exactly one `kafka.brokers`
specified, and that the simple name map is defined with the kafka broker
specified in `kafka.brokers` is also defined in the map.
### Commits
- [ ] My commits all reference JIRA issues in their subject lines, and I
have squashed multiple commits if they address the same issue. In addition, my
commits follow the guidelines from "[How to write a good git commit
message](http://chris.beams.io/posts/git-commit/)":
1. Subject is separated from body by a blank line
2. Subject is limited to 50 characters
3. Subject does not end with a period
4. Subject uses the imperative mood ("add", not "adding")
5. Body wraps at 72 characters
6. Body explains "what" and "why", not "how"
Issue Time Tracking
-------------------
Worklog Id: (was: 876239)
Remaining Estimate: 0h
Time Spent: 10m
> Kafka source / extractor utility to get a simple name for kafka brokers
> -----------------------------------------------------------------------
>
> Key: GOBBLIN-1876
> URL: https://issues.apache.org/jira/browse/GOBBLIN-1876
> Project: Apache Gobblin
> Issue Type: Improvement
> Reporter: Matthew Ho
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> This utility can be used to write human readable names for the URIs that can
> be used in Gobblin tracking events, Gobblin Metadata Change Events
--
This message was sent by Atlassian Jira
(v8.20.10#820010)