Skip to content


Released: November 16, 2021

Bug Fixes

Latest Query Name Collisions

The fix enables users to choose whatever column names they would like inside of Latest queries without generating errors.


Seeing feature-level errors:

ValidationException: Invalid ProjectionExpression: Attribute name is a reserved keyword; reserved keyword: state

for features defined as Latest queries, e.g.

state := Latest<user_responses>(state by zipcode)

Root Cause

Sumatra's implementation of Latest left open the possibility of name conflicts with DynamoDB's list of reserved words, including "state".


Use Dynamo's expression attribute aliases to avoid the name collisions.

Spurious Divide By Zero Errors

The fix changes the behavior of the following aggregates to no longer generate errors when aggregating over the empty set:

  • Average
  • StdDev
  • Median
  • MedianAbsoluteDeviation


Seeing feature-level errors:

avg_rate_per_zip: divide by zero

for features defined as Average queries, e.g.

avg_rate_per_zip := Average(rate by zip)

and data where rate is null.

Root Cause

Sumatra's implementation of Average and 3 other aggregates reported errors when missing data would result in a divide by zero. This error reporting is unnecessary as the null return value is sufficient.


The design change was made to return null without error for these 4 aggregates when aggregating over empty data.