[ 
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)

Reply via email to