Lukas Drbal created BEAM-6632:
---------------------------------
Summary: Unable to use TUMBLE interval >= 25 DAY
Key: BEAM-6632
URL: https://issues.apache.org/jira/browse/BEAM-6632
Project: Beam
Issue Type: Bug
Components: dsl-sql
Affects Versions: 2.9.0
Reporter: Lukas Drbal
I am not able to run query with interval DAY >= 25.
Example:
{code:java}
SELECT f_int2, COUNT(*) AS `getFieldCount`,
TUMBLE_START(f_timestamp, INTERVAL '31' DAY) AS `window_start`,
TUMBLE_END(f_timestamp, INTERVAL '31' DAY) AS `window_end`
FROM TABLE_A
GROUP BY f_int2, TUMBLE(f_timestamp, INTERVAL '31' DAY)
{code}
It result to IllegalArgumentException: FixedWindows WindowingStrategies must
have 0 <= offset < size
{noformat}
Caused by: java.lang.IllegalArgumentException: FixedWindows WindowingStrategies
must have 0 <= offset < size
at
org.apache.beam.sdk.transforms.windowing.FixedWindows.<init>(FixedWindows.java:65)
at
org.apache.beam.sdk.transforms.windowing.FixedWindows.of(FixedWindows.java:50)
at
org.apache.beam.sdk.extensions.sql.impl.rule.BeamAggregationRule.createWindowFn(BeamAggregationRule.java:137)
at
org.apache.beam.sdk.extensions.sql.impl.rule.BeamAggregationRule.updateWindow(BeamAggregationRule.java:77)
at
org.apache.beam.sdk.extensions.sql.impl.rule.BeamAggregationRule.onMatch(BeamAggregationRule.java:59)
at
org.apache.beam.repackaged.beam_sdks_java_extensions_sql.org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:212){noformat}
Looks like Integer overflow in
[BeamAggregationRule.java#L184|[https://github.com/apache/beam/blob/master/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/rule/BeamAggregationRule.java#L184].]
Solution should be simple: getting long value from RexNode.
I can create PR and TestCase for this bug.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)