All Versions
10
Latest Version
Avg Release Cycle
224 days
Latest Release
1956 days ago

Changelog History

  • v2.4.0 Changes

    December 17, 2018
    • ๐Ÿ”– Version 2.4.0 (2018-12-16)

    Noteworthy Changes:

    • 0๏ธโƒฃ Set default data block encoding to DIFF in the create table script.
    • โž• Add callbacks to log errors in the FSCK tool when a call was made to
      ๐Ÿ›  fix something.
    • โž• Add a sum of squares aggregator "squareSum".
    • โž• Add the diff aggregator that computes the difference between the first
      and last values.
    • โž• Add a SystemD template to the RPM package.
    • ๐Ÿ‘ Allow tags to be added via HTTP header.
    • โž• Add example implementations for the Authorization and Authentication
      ๐Ÿ”Œ plugins.
    • Change tsd.storage.use_otsdb_timestamp to default to false.
    • Literal or filter now allows single character values.
    • Rollup query code now only uses the downsampler value to pick an interval.
    • โž• Add jdk 8 in the debian script.
    • Setup fill policies in the Nagios check

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  Fix rollup scanner filter for single aggregate queries.
    • ๐Ÿ›  Fix FSCK HBase timestamps when deduping. Sometimes they were negative.
    • ๐Ÿ›  Fix exception handling when writing data over HTTP with the sync flag enabled.
    • ๐Ÿ›  Fix missing source files in the Makefile.
    • ๐Ÿ”„ Change UID cache to longs from ints and add hit and miss counters.
    • ๐Ÿ›  Fix HighestCurrent returning the wrong results.
    • ๐Ÿ›  Fix running query stats queryStart timestamp to millis.
    • ๐Ÿ›  Fix TimeShift millisecond bug.
    • ๐Ÿ›  Fix post remove step in the debian package.
  • v2.4.0.RC2 Changes

    October 09, 2017
    • ๐Ÿ”– Version 2.4.0 RC2 (2017-10-08)

    Noteworthy Changes:

    • ๐Ÿ”Œ Modify the RPC handler plugin system so that it parses only the first part of
      ๐Ÿ”Œ the URI instead of the entire path. Now plugins can implement sub-paths.
    • ๐Ÿ’ป Return the HTML 5 doctype for built-in UI pages
    • โž• Add an optional byte and/or data point limit to the amount of data fetched
      from storage. This allows admins to prevent OOMing TSDs due to massive queries.
    • ๐Ÿ‘ Allow a start time via config when enabling the date tiered compaction in HBase
    • Provide the option of using an LRU for caching UIDs to avoid OOMing writers and
      readers with too many strings
    • Optionally avoid writing to the forward or reverse UID maps when a specific TSD
      operational mode is enabled to avoid wasting memory on maps that will never be
      ๐Ÿ‘‰ used.

    ๐Ÿ› Bug Fixes:

    • Roll back UTF8 issue with UIDs in RC1 wherein the stored bytes weren't converting
      ๐Ÿ‘ properly and vice-versa. We'll have to work on full UTF8 support in 3.x
    • ๐Ÿ›  Fix a build issue for Javacc
    • โž• Add Kryo as a dependency to the fat jar
    • ๐Ÿ›  Javadoc fixes
    • ๐Ÿ›  Fix an issue with calendar aligned downsampling by seeking to the start time of
      the query when the zone-aligned timestamp may be earlier than the query start time
    • โž• Add the missing QueryLimitOverride to the makefile
    • ๐Ÿ›  Fix compatibility with Bigtable for 2.4
    • Enable standard read-only APIs when the TSD is in write only mode
  • v2.3.2 Changes

    December 17, 2018
    • ๐Ÿ”– Version 2.3.2 (2018-12-16)

    Noteworthy Changes:

    • A new Python wrapper script to make FSCK repair runs easier.
    • ๐ŸŽ Track performance in the Nagios/Icinga script
    • โž• Add a Contributions file.
    • Add a config, 'tsd.core.bulk.allow_out_of_order_timestamps' to allow out of
      order timestamps for bulk ingest.
    • NOTE: This version also includes a JDK 8 compiled version of Jackson due to
      ๐Ÿ”’ security patches. If you need to run with an older JDK please replace the
      Jackson JARs with older versions.

    ๐Ÿ› Bug Fixes:

    • Unwrap NoSuchUniqueIds when writing data points to make it easier to understand
      exceptions.
    • ๐Ÿ›  Fix an NPE in the PutDataPointRpc class if a data point in the list is null.
    • ๐Ÿ›  Fix a Makefile error in the clean portion.
    • ๐Ÿ›  Fix an NPOE in the UIDManager print result.
    • ๐Ÿ›  Fix a bug in the UI where Y formats may contain a percent sign.
    • ๐Ÿ‘ Allow specifying the data block encoding and TTL in the HBase table creation
      script.
    • ๐Ÿ”„ Change the make and TSDB scripts to use relative paths.
    • ๐Ÿ›  Fix parsing of use_meta from the URI for the search endpoint.
    • ๐Ÿ›  Fix the clean cache script to be a bit more OS agnostic.
  • v2.3.1 Changes

    May 22, 2018
    • ๐Ÿ”– Version 2.3.1 (2018-04-21)

    Noteworthy Changes:

    • When setting up aggregators, advance to the first data point equal to or greater
      than the query start timestamp. This helps with calendar downsampling intervals.
    • โž• Add support to the Nagios check script for downsampling fill policies.

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  Fix expression calculation by avoiding double execution and checking both
      output types for boolean values.
    • ๐Ÿ›  Fixing missing tools scripts in builds.
    • 0๏ธโƒฃ Default HBase 1.2.5 in the OSX install script
    • โฌ†๏ธ Upgrade AsyncBigtable to 0.3.1
    • ๐ŸŒฒ Log query stats when a channel is closed unexpectedly.
    • โž• Add the Java 8 path in the debian init script and remove Java 6.
    • โฑ Pass the column family name to the get requests in the compaction scheduler.
    • ๐Ÿ›  Fix a comparison issue in the UI on group by tags.
    • Filter annotation queries by the starting timestamp, excluding those in a row that
      began before the query start time.
    • Tiny stap at purging backticks from Gnuplot scripts.
    • โœ‚ Remove the final annotation from the meta classes so they can be extended.
    • ๐Ÿ›  Fix the javacc maven plugin version.
    • ๐Ÿ›  Fix the literal or filter to allow single character filters.
    • ๐Ÿ›  Fix query start stats logging to use the ms instead of nano time.
    • ๐Ÿ”’ Move Jackson and Netty to newer versions for security reasons.
    • โฌ†๏ธ Upgrade to AsyncHBase 1.8.2 for compatibility with HBase 1.3 and 2.0
    • ๐Ÿ›  Fix the Highest Current calculation to handle empty time series.
    • ๐Ÿ”„ Change the cache hits counters to longs.
  • v2.3.0 Changes

    December 31, 2016
    • ๐Ÿ”– Version 2.3.0 (2016-12-31)

    Noteworthy Changes:

    • ๐Ÿš€ Release of 2.3.0.
    • โž• Add example classes for using the Java API.

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  Same fixes as in 2.2.2
    • ๐Ÿ›  Fix a null UID check on decoding metric names from row keys.
    • ๐Ÿ›  Fix unit tests for JDK 8 and later.

    ๐Ÿ‘€ See also 2.3.0RC1 and 2.3.0RC2

  • v2.3.0.RC2 Changes

    October 08, 2016
    • ๐Ÿ”– Version 2.3.0 RC2 (2016-10-08)

    Noteworthy Changes:

    • โž• Added a docker file and tool to build TSD docker containers (#871).
    • ๐ŸŒฒ Log X-Forwarded-For addresses when handling HTTP requests.
    • Expand aggregator options in the Nagios check script.
    • ๐Ÿ‘ Allow enabling or disabling the HTTP API or UI.
    • TSD will now exit when an unrecognized CLI param is passed.

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ‘Œ Improved ALPN version detection when using Google Bigtable.
    • ๐Ÿ›  Fix the DumpSeries class to support appended data point types.
    • ๐Ÿ›  Fix queries where groupby is set to false on all filters.
    • ๐Ÿ›  Fix a missing attribute in the Nagios check script (#728).
    • ๐Ÿ›  Fix a major security bug where requesting a PNG with certain URI params could execute code
      on the host (#793, #781).
    • Return a proper error code when dropping caches with the DELETE HTTP verb (#830).
    • ๐Ÿ›  Fix backwards compatibility with HBase 0.94 when using explicit tags by removing the
      fuzzy filter (#837).
    • ๐Ÿ›  Fix an RPM build issue when creating the GWT directory.
  • v2.3.0.RC1 Changes

    May 02, 2016
    • ๐Ÿ”– Version 2.3.0 RC1 (2016-05-02)

    Noteworthy Changes:

    • Introduced option --max-connection/tsd.core.connections.limit to set the maximum number
      of connection a TSD will accept (#638)
    • 'tsdb import' can now read from stdin (#580)
    • โž• Added datapoints counter (#369)
    • ๐Ÿ‘Œ Improved metadata storage performance (#699)
    • โž• added checkbox for showing global annotations in UI (#736)
    • โž• Added startup plugins, can be used for Service Discovery or other integration (#719)
    • โž• Added MetaDataCache plugin api
    • โž• Added timeshift() function (#175)
    • Now align downsampling to Gregorian Calendar (#548, #657)
    • โž• Added None aggregator to fetch raw data along with first and last aggregators to
      fetch only the first or last data points when downsampling.
    • โž• Added script to build OpenTSDB/HBase on OSX (#674)
    • โž• Add cross-series expressions with mathematical operators using Jexl
    • โž• Added query epxressions (alias(), scale(), absolute(), movingAverage(), highestCurrent(),
      highestMax(), timeShift(), divide(), sum(), difference(), multiply()) (#625)
    • โž• Add a Unique ID assignment filter API for enforcing UID assignment naming conventions.
    • โž• Add a whitelist regular expression based UID assignment filter
    • โž• Add a time series storage filter plugin API that allows processing time series data
      and determining if it should be stored or not.
    • ๐Ÿ‘ Allow using OpenTSDB with Google's Bigtable cloud platform or with Apache Cassandra

    ๐Ÿ› Bug Fixes:

    • Some improperly formatted timestamps were allowed (#724)
    • โœ‚ Removed stdout logging from packaged logback.xml files (#715)
    • โช Restore the ability to create TSMeta objects via URI
    • โช Restore raw data points (along with post-filtered data points) in query stats

    - ๐Ÿ’ป Built in UI will now properly display global annotations when the query string is passed

  • v2.2.2 Changes

    December 29, 2016
    • ๐Ÿ”– Version 2.2.2 (2016-12-29)

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  Fix an issue with writing metadata where using custom tags could cause the compare-
      and-set to fail due to variable ordering in Java's heap. Now tags are sorted so the
      custom tag ordering will be consistent.
    • ๐Ÿ›  Fix millisecond queries that would miss data the top of the final hour if the end
      time was set to 1 second or less than the top of that final hour.
    • ๐Ÿ›  Fix a concurrent modification issue where salt scanners were not synchronized on the
      ๐Ÿ“Œ annotation map and could cause spinning threads.
  • v2.2.1 Changes

    October 08, 2016
    • ๐Ÿ”– Version 2.2.1 (2016-10-08)

    Noteworthy Changes

    • Generate an incrementing TSMeta request only if both enable_tsuid_incrementing and
      tsd.core.meta.enable_realtime_ts are enabled. Previously, increments would run
      regardless of whether or not the real time ts setting was enabled. If tsuid
      incrementing is disabled then a get and optional put is executed each time without
      modifying the meta counter field.
    • ๐Ÿ‘Œ Improve metadata storage performance by removing an extra getFromStorage() call.
    • โž• Add global Annotations to the gnuplot graphs (#773)
    • ๐Ÿ‘ Allow creation of a TSMeta object without a TSUID (#778)
    • ๐Ÿšš Move to AsyncHBase 1.7.2

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  Fix Python scripts to use the environment directory.
    • ๐Ÿ›  Fix config name for "tsd.network.keep_alive" in included config files.
    • ๐Ÿ›  Fix an issue with the filter metric and tag resolution chain during queries.
    • ๐Ÿ›  Fix an issue with malformed, double dotted timestamps (#724).
    • ๐Ÿ›  Fix an issue with tag filters where we need a copy before modifying the list.
    • ๐Ÿ›  Fix comments in the config file around TCP no delay settings.
    • ๐Ÿ›  Fix some query stats calculations around averaging and estimating the number
      of data points (#784).
    • Clean out old .SWO files (#821)
    • ๐Ÿ›  Fix a live-lock situation when performing regular expression or wildcard queries (#823).
    • ๐Ÿ”„ Change the static file path for the HTTP API to be relative (#857).
    • ๐Ÿ›  Fix an issue where the GUI could flicker when two or more tag filters were set (#708).
  • v2.2.0 Changes

    February 15, 2016
    • ๐Ÿ”– Version 2.2.0 (2016-02-14)
      • Add the option to randomly assign UIDs to metrics to improve distribution across
        HBase region servers.
      • Introduce salting of data to improve distribution of high cardinality regions
        across region servers.
      • Introduce query stats for tracking various timings related to TSD queries.
      • Add more stats endpoints including /threads, /jvm and /region_clients
      • Allow for deleting UID mappings via CLI or the API
      • Name the various threads for easier debugging, particularly for distinguishing
        between TSD and AsyncHBase threads.
      • Allow for pre-fetching all of the meta information for the tables to improve
        ๐ŸŽ performance.
      • Update to the latest AsyncHBase with support for secure HBase clusters and RPC
        timeouts.
      • Allow for overriding metric and tag widths via the config file. (Be careful!)
      • URLs from the API are now relative instead of absolute, allowing for easier reverse
        proxy use.
      • Allow for percent deviation in the Nagios check
      • Let queries skip over unknown tag values that may not exist yet (via config)
      • Add various query filters such as case (in)sensitive pipes, wildcards and pipes
        over tag values. Filters do not work over metrics at this time.
      • Add support for writing data points using Appends in HBase as a way of writing
        compacted data without having to read and re-write at the top of each hour.
      • Introduce an option to emit NaNs or Nulls in the JSON output when downsampling and
        a bucket is missing values.
      • Introduce query time flags to show the original query along with some timing stats
        in the response.
      • Introduce a storage exception handler plugin that will allow users to spool or
        requeue data points that fail writes to HBase due to various issues.
      • Rework the HTTP pipeline to support plugins with RPC implementations.
      • Allow for some style options in the Gnuplot graphs.
      • Allow for timing out long running HTTP queries.
      • Text importer will now log and continue bad rows instead of failing.
      • New percentile and count aggregators.
      • Add the /api/annotations endpoint to fetch multiple annotations in one call.
      • Add a class to support improved bulk imports by batching requests in memory for a
        full hour before writing.
      • Allow overriding the metric and tag UID widths via config file instead of
        having to modify the source code.
      • Rework the QueryStats output to be a bit more useful and add timings from the
        various scanners and query components.
      • Modify the UI to allow for group by or aggregate per tag (use the new query feature)
      • Rework the UI skin with the new TSDB logo and color scheme.
      • Add the QueryLog config to logback.xml so users can optionally enable logging of
        all queries along with their stats.