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)

Reply via email to