Skip to content

Latest commit

 

History

History
248 lines (179 loc) · 13 KB

CHANGELOG.md

File metadata and controls

248 lines (179 loc) · 13 KB

Change Log

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.

Current

Fixed:

  • Removed excessive logging and exceptions caused during test runs
    • Metadata Loader during test runs shouldn't try to connect to metadata service. NoOpDataSourceMetadataLoadTask
    • SegmentMetadata in tests do not parse correctly as lists, changing to a null object. TestDruidWebService
    • Noop cache shouldn't create useless connection to Memcached StubTupleDataCache

Added:

Changed:

Removed:

Fixed:

Deprecated:

Known Issues:

Contract changes:


1.0 Highlights

The vast majority of improvements in 1.0 have been focused on better logging and resolving vulnerable dependencies.

Fixed:

Added:

-Support user configured messages for authorization failures

  • Changed AuthorizationStatus from an enum to a class collecting constants. Make the description for failures be user configurable.

-ResultSet can carry messages to the response

  • Added ExtensibleResultSetSchema and integrated it into ResultSetSerializationProxy and ResultSetResponseProcessor

-Cleaner weight check fields and names

-Total sketches and correct total lines in LogBlock

  • Fixed total lines calculation
  • Added total sketch calculation

-Log weight evaluation results in LogBlock

  • Added logging for raw lines and raw sketches to Bard single log line.
  • Added test data utilizing expanded WeightEvaluationQuery.
  • Provided a QueryWeightUtilsAlwaysRun as a helper implementation.

Changed:

  • Improve query time logging

    • Added table name to partial data comparator
    • Removed unmapped physical column warning
  • Support JDK 11 compilation

    • Updated POM
    • Explicitly added javax dependencies
    • Removed reference to Corba error type
  • Extensions to support RateLimit reporting extensibility

    • Renamed isUi to isExtended to more clearly indicate the purpose of the fields.
    • Added extensible methods for generating global and personal rate limit generation.
    • Added message to the RateLimitRequestToken interface to support richer logging of rate limit failures.
  • Bump to Groovy 2.5

  • Make the default search results something more reasonable for a UI

    • Gave the DimensionSearchServlet it's own default pagination that can be controlled via config, but defaulted to 50.
  • Added afterCache behavior to CacheV2ResponseProcessor

    • Added afterCache() method
    • Refactored CacheV2ResponseProcessor to make it more extensible (broke up component tasks into overridable methods)
    • Updated to add response context to after method and make the response construction extensible.
  • Capability to bypass URL in Role based authentication filter

    • Added capability to bypass URL in RoleBasedAuthFilter even when user is not part of allowed user roles.
    • Added a config variable bard__allowed_urls to specify list of bypassed URLs.
  • Turning on metadata support ensures metablock in response

  • Update GeneratedMetricInfo to avoid StackOverflow

    • Update getType() tp avoid recursion leading to stack overflow.
  • Enhance Rate Limiting Capability

    • Add UI and non-UI user count capability to rate limiter
  • Make LookBackQuery Extensible

    • Make field and constructor less private
  • Make GroupBy Query Extensible

    • Make field less private
  • Make Data Servlet Extensible

    • 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
  • Support unnamed dimension fields

  • Support virtual dimensions

    • 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 in DataApiRequestImpl
    • 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]#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] (#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.
  • Add MetricType subType and metadata

    • Elaborated type into a class in LogicalMetricInfo supporting subtype and metadata
    • Updated metric makers to support type overrides
    • Updated ProtocolMetric generator to support modifying types
    • Updated ThetaSketchMaker to demonstrate having a type generated on the Maker that captured sketch precision as metadata.

Removed:

Fixed:

Deprecated:

Known Issues:

Contract changes:


Prior chages logged at CHANGELOG_0_x.md

Changelog 0.x