[
https://issues.apache.org/jira/browse/GOBBLIN-2113?focusedWorklogId=926223&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-926223
]
ASF GitHub Bot logged work on GOBBLIN-2113:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 16/Jul/24 20:15
Start Date: 16/Jul/24 20:15
Worklog Time Spent: 10m
Work Description: umustafi opened a new pull request, #4004:
URL: https://github.com/apache/gobblin/pull/4004
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-2113
### Description
- [X] Here are some details about my PR, including screenshots (if
applicable):
After changing `flowExecutionId` from a Str to a long in a previous PR, we
encounter `NumberFormatException` in the `DagActionStoreChangeMonitor` when
processing HB events. This ends up killing the `HighLevelConsumer` queues for
the hosts that receive the HB events in their partition.
```
{{Encountered exception while processing record so stopping queue
processing. Record: LiKafka10ConsumerRecord(consumerRecord=ConsumerRecord(topic
= ds_mysql_makto-db-152_prod_SHARED_GOBBLIN_DAG_ACTION_STORE_20221208211255,
partition = 0, leaderEpoch = null, offset = 905733, NoTimestampType = -1,
serialized key size = -1, serialized value size = -1, headers =
RecordHeaders(headers = [], isReadOnly = false), key = , value =
{"changeEventIdentifier":
{"key": "", "txId": "", "produceTimestampMillis": 1721078158347,
"operationType": "HEARTBEAT"}
, "flowGroup": "", "flowName": "", "flowExecutionId": "", "jobName": "",
"dagAction": null})) Exception: java.lang.NumberFormatException: For input
string: ""}}
```
### Tests
- [X] My PR adds the following unit tests __OR__ does not need testing for
this extremely good reason:
Updates the following unit test for Heartbeat (HB) events which was using
valid flow names, groups, and flowExecutionId for HB event that did not
accurately reflect a HB event received from CDC. After updating its values the
test failed locally
```
Gradle suite > Gradle test >
org.apache.gobblin.runtime.DagActionStoreChangeMonitorTest >
testProcessMessageWithHeartbeatAndNullDagAction FAILED
java.lang.NumberFormatException: For input string: ""
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:601)
at java.lang.Long.parseLong(Long.java:631)
at
org.apache.gobblin.service.monitoring.DagActionStoreChangeMonitor.processMessage(DagActionStoreChangeMonitor.java:203)
at
org.apache.gobblin.runtime.DagActionStoreChangeMonitorTest$MockDagActionStoreChangeMonitor.processMessageForTest(DagActionStoreChangeMonitorTest.java:97)
at
org.apache.gobblin.runtime.DagActionStoreChangeMonitorTest.testProcessMessageWithHeartbeatAndNullDagAction(DagActionStoreChangeMonitorTest.java:139)
Failed tests:
[org.apache.gobblin.runtime.DagActionStoreChangeMonitorTest::testProcessMessageWithHeartbeatAndNullDagAction
```
It passes after the update.
### Commits
- [X] 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: 926223)
Remaining Estimate: 0h
Time Spent: 10m
> Process HB messages with empty FlowExecutionId str
> --------------------------------------------------
>
> Key: GOBBLIN-2113
> URL: https://issues.apache.org/jira/browse/GOBBLIN-2113
> Project: Apache Gobblin
> Issue Type: Bug
> Components: gobblin-service
> Reporter: Urmi Mustafi
> Assignee: Abhishek Tiwari
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> {{After changing flowExecutionID from a Str to a long in a previous PR, we
> encounter NumberFormatException in the DagActionStoreChangeMonitor when
> processing HB events. This ends up killing the HighLevelConsumer queues for
> the hosts that receive the HB events in their partition. }}
> {{Encountered exception while processing record so stopping queue processing.
> Record: LiKafka10ConsumerRecord(consumerRecord=ConsumerRecord(topic =
> ds_mysql_makto-db-152_prod_SHARED_GOBBLIN_DAG_ACTION_STORE_20221208211255,
> partition = 0, leaderEpoch = null, offset = 905733, NoTimestampType = -1,
> serialized key size = -1, serialized value size = -1, headers =
> RecordHeaders(headers = [], isReadOnly = false), key = , value =
> \{"changeEventIdentifier": {"key": "", "txId": "", "produceTimestampMillis":
> 1721078158347, "operationType": "HEARTBEAT"}, "flowGroup": "", "flowName":
> "", "flowExecutionId": "", "jobName": "", "dagAction": null})) Exception:
> java.lang.NumberFormatException: For input string: ""}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)