Alan created FLINK-18909: ---------------------------- Summary: SequenceGenerator doesn't work as expected Key: FLINK-18909 URL: https://issues.apache.org/jira/browse/FLINK-18909 Project: Flink Issue Type: Bug Components: API / DataStream Affects Versions: 1.11.1 Reporter: Alan
When using a org.apache.flink.streaming.api.functions.source.datagen.SequenceGenerator with 0 and Long.MaxValue the following exception is rasied: <<snip>> new SequenceGenerator(0, Long.MAX_VALUE); Caused by: java.lang.IllegalArgumentExceptionCaused by: java.lang.IllegalArgumentException at org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:123) at org.apache.flink.streaming.api.functions.source.datagen.SequenceGenerator.safeDivide(SequenceGenerator.java:110) at org.apache.flink.streaming.api.functions.source.datagen.SequenceGenerator.open(SequenceGenerator.java:83) at org.apache.flink.streaming.api.functions.source.datagen.DataGeneratorSource.initializeState(DataGeneratorSource.java:64) This is because the Long overflows. in the check: long totalNoOfElements = Math.abs(end - start + 1); Which is incorrect. - this code should use BigInteger. Using new SequenceGenerator(0, Long.MAX_VALUE-1); Still fails on the following check: Caused by: java.lang.IllegalArgumentExceptionCaused by: java.lang.IllegalArgumentException at org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:123) at org.apache.flink.streaming.api.functions.source.datagen.SequenceGenerator.safeDivide(SequenceGenerator.java:111) at org.apache.flink.streaming.api.functions.source.datagen.SequenceGenerator.open(SequenceGenerator.java:83) at org.apache.flink.streaming.api.functions.source.datagen.DataGeneratorSource.initializeState(DataGeneratorSource.java:64) -- This message was sent by Atlassian Jira (v8.3.4#803005)