[ https://issues.apache.org/jira/browse/FLINK-10358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16621720#comment-16621720 ]
ASF GitHub Bot commented on FLINK-10358: ---------------------------------------- mxm closed pull request #6708: [FLINK-10358][Kinesis-connector] fix NPE in case millisBehindLatest is null URL: https://github.com/apache/flink/pull/6708 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/internals/ShardConsumer.java b/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/internals/ShardConsumer.java index 5845eea8f88..36a4e92c179 100644 --- a/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/internals/ShardConsumer.java +++ b/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/internals/ShardConsumer.java @@ -373,7 +373,10 @@ private GetRecordsResult getRecords(String shardItr, int maxNumberOfRecords) thr getRecordsResult = kinesis.getRecords(shardItr, maxNumberOfRecords); // Update millis behind latest so it gets reported by the millisBehindLatest gauge - shardMetricsReporter.setMillisBehindLatest(getRecordsResult.getMillisBehindLatest()); + Long millisBehindLatest = getRecordsResult.getMillisBehindLatest(); + if (millisBehindLatest != null) { + shardMetricsReporter.setMillisBehindLatest(millisBehindLatest); + } } catch (ExpiredIteratorException eiEx) { LOG.warn("Encountered an unexpected expired iterator {} for shard {};" + " refreshing the iterator ...", shardItr, subscribedShard); ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Flink kinesis connector could throw NPE during getRecords() call > ----------------------------------------------------------------- > > Key: FLINK-10358 > URL: https://issues.apache.org/jira/browse/FLINK-10358 > Project: Flink > Issue Type: Bug > Components: Kinesis Connector > Reporter: Ying Xu > Assignee: Ying Xu > Priority: Major > Labels: pull-request-available > > When extending the flink kinesis connector to consume from a dynamodb stream, > it was found NPE could be thrown at > [here|https://github.com/apache/flink/blob/e3c98f05d3544d0165c2d97d2d00fcd295cef8c8/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/internals/ShardConsumer.java#L376] > . > This is because the [getRecords > API|https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_GetRecords.html] > in dynamodb streams does not return the millisBehindLatest field and has it > set to null. Null check is probably needed here. > See FLINK-4582 for the context of building dynamodb streams connector on top > of the Kinesis connector. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)