All notable changes to Fili will be documented here. Changes are accumulated as new paragraphs at the top of the current major version. Each change has a link to the pull request that makes the change and to the issue that triggered the pull request if there was one.
-
Enhance Rate Limiting Capability
- Add UI and non-UI user count capability to rate limiter
-
- Make field and constructor less private
-
- Make field less private
-
- Make field less private
- Decomposed getData into overridable methods
-
Make DataApiRequest Servlet Extensible
- Add parent subclass with query parameters to support adding general query elements
-
- Virtual dimensions have no storage associated with them and no physical columns
- Virtual dimensions will be bound in children of
ExtensibleDataApiRequestImpl
to maintain backwards compatibility for now inDataApiRequestImpl
SimpleVirtualDimension
will have its columns serialized without '|fieldname'- Output columns are not driven by requested columns not columns in the result set. Missing dimension rows will be expressed as null field values.
- parsing of PerDimensionFields will no longer rely on dimension dictionary but instead on the already chosen grouping dimensions
REQUESTED_API_DIMENSION_FIELDS
context property was added to support JobServlet asynchronous requests, however it doesn't work well with VirtualDimensions so if the ApiRequest is able to be the authority on requested fields it will be used instead.DataServlet
sanitized empty path elements early to avoid validation later
-
[Support null valued dimension, metric and time values to be null]yahoo#1183)
- Result to support null serialization of time, dimensions
- Sortable nullable DateTime in ResultSetMapper
- TimeDimensionResultSetMapper pulls dimension time into timestamp
- TimeDimension SimpleVirtualDimension to simplify time injecting queries
- Made virtual dimension equality based on apiName (to allow distinct but equal request and response dimensions)
-
[Bumping druid api dependency] (yahoo#1174)
- Moved druid dependency to Druid 0.20
- Disabled jackson validation error
-
Moving having and limitspec support to an interface and abstract implementation
- Added an interface for the group by and other related query types to offer abstract support for limitspec and having
- Deprecated withOrderBy because there hasn't been a lot of conceptual gain drawing a line between logical and actual sort implementations.
- Made
LookbackQuery
support withDimensions in cases where the inner datasource supports withDimensions. - Made
GroupByQuery
devolve limitspec and having support to parent abstract class.