HeartSaVioR commented on code in PR #36642: URL: https://github.com/apache/spark/pull/36642#discussion_r879934124
########## sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamExecution.scala: ########## @@ -451,8 +451,10 @@ abstract class StreamExecution( // Offset has been reached and the equality condition might never be met. if (!localCommittedOffsets.contains(source)) { true - } else if (newOffset.isInstanceOf[LongOffset]) { - localCommittedOffsets(source).toString.toLong < newOffset.asInstanceOf[LongOffset].offset + } else if (localCommittedOffsets(source).isInstanceOf[LongOffset] && Review Comment: This is going to be verbose on checking the type and casting, so could you please check whether we can enjoy the benefit of pattern matching or not? ``` (localCommittedOffsets.get(source), newOffset) match { case (None, newOff) => true case (Some(localOff: LongOffset), newOff: LongOffset) => localOff.offset < newOff.offset case (Some(localOff), newOff) => localOff != newOff } ``` Worth noting that awaitOffset is not on the critical path. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org