Liangchang Zhu created SPARK-24404: -------------------------------------- Summary: Increase currentEpoch when meet a EpochMarker in ContinuousQueuedDataReader.next() in CP mode Key: SPARK-24404 URL: https://issues.apache.org/jira/browse/SPARK-24404 Project: Spark Issue Type: Bug Components: Structured Streaming Affects Versions: 2.3.0 Reporter: Liangchang Zhu
In CP mode, ContinuousQueuedDataReader.next() will be invoked by ContinuousDataSourceRDD.compute to return UnsafeRow. When currentEntry polled from ArrayBlockingQueue is a EpochMarker, ContinuousQueuedDataReader will send `ReportPartitionOffset` message to epochCoordinator with currentEpoch of EpochTracker. The currentEpoch is a ThreadLocal variable, but now no place invoke `incrementCurrentEpoch` to increase currentEpoch in its thread, so `getCurrentEpoch` will return `None` all the time(because currentEpoch is -1). This will cause exception when invoke `None.get`. At the same time, in order to make the `ReportPartitionOffset` have correct semantics, we need increase currentEpoch before send this message -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org