CHANGES
=======

0.1.9
-----

* Fix issue with restarts rereading kafka messages

0.1.8
-----

* Add logging of message count info when messages sent to influxdb
* Add banner

0.1.7
-----

* Set logging level to info

0.1.6
-----

* Fix shutdown problem

0.1.5
-----

* Add more error handling

0.1.4
-----

* Fix bug JAH-865

0.1.3
-----

* Added missing requirements

0.1.2
-----

* Specified all needed subpackages

0.1.1
-----

* Change to new package names for monasca-common
* Moved openstack package so imports are setup correctly

0.1.0
-----

* Make code more python-like
* Refactor out duplicate code paths
* Fix flush logic to remove unnecessary variable assignment
* Refactor code to remove duplication
* Allow unicode in metrics column
* Increase throughput of persister
* Fix unicode error when logging
* Add files for pypi
* Add servicerunner to run the persister using the Openstack service infrastructure
* WIP - Persist metrics along with alarm-state-history records in Influx
* Initial Python Persister
* Remove compiler warning
* Cleanup code
* Series name contains metadata
* Some files were renamed on master
* Use monasca everywhere
* Add a tar.gz to the package step
* Remove all dependencies on hpcloud maven repository
* Add file encoding system property
* Commit kafka reads once the item was persisted
* Fix when same metric has different columns (dimensions)
* Remove star from imports
* Initialize local var only once
* Handle measurements with no dimensions
* Changes to work with new monasca_common build
* Change influxDBConfiguration to influxDbConfiguration
* Fix various pom issues
* Use DatabaseConfiguration from mon-influxdb
* Use InfluxDbConfiguration from mon-influxdb
* Fixed code formatting to follow guidelines
* Get initial build to work
* Ensure that metrics and alarms are flushed on shutdown and that the Kafka connection is shutdown properly also. This ensure that on normal shutdown, no metrics or alarms are missed or duplicated
* Change the build to use the mon-common from the local repository. Updated README.md with build instructions
* Make InfluxDBConfiguration nullable
* Refactor debug logging into separate methods
* Add copyright header
* Add measurement meter
* Remove time_stamp column and use time column instead
* Change Kafka topics to be configurable instead of hard-coded
* Handles alarm state transitions with influxDB
* Handles metrics with influxDB
* Remove redundant MAX_TENANT_ID_LENGTH
* Increase tenant_id length to 255
* Update VerticaMetricRepository.java
* Update VerticaMetricsConstants.java
* Update VerticaMetricsConstants.java
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Add try-catch block to database operations
* Update README.md
* Removed .idea directory
* Update to the latest build of mon-common where MetricEnvelope timestamp is now in seconds
* Update to mon-common build 50 so that when api sends a MetricEnvelope with the new timestamp, it will still deserialize
* Modified copyright header one more time for good measure
* Modified copyright header
* Added copyright header and LICENSE file
* Shorten method name
* Fix spelling error
* Add meters and debugging stmts
* Clean up code. - make flush single transaction. - add warnings. - clean temporary caches on error
* Truncate columns greater than max
* Change VARCHAR to VARCHAR(255)
* Change SQL parameters to names of columns instead of positional numbers
* Change SQL parameters to names of columns instead of positional numbers
* Add hexString method to Sha1HashId
* Add debugging statements
* Add checks for null and empty strings in dimensions
* Remove alarm_name and alarm_description. Added reason_data, which is hard-coded to "{}" for now
* Modified to use Metric in mon-common
* Changed metrics to yammer to codehal
* Re-factored to remove some duplicate code
* Migrate to Dropwizard 0.7.0. Change main class to MonPersisterApplication
* Migrate to Dropwizard 0.7.0
* Fix mon-model jar resolution issue
* Modified to use AlarmStateTransitionedEvent in mon.common and added alarm description
* Change schema to normalize definitions and dimensions
* Make DefinitionId class immutable
* Add DefinitionId class for proper hashing of definition ids
* metric_definition_id -> definition_id
* Change vertica schema names. monmetrics.metrics to monmetrics.measurements. metric_id to id. metric_definition_id to id
* Added increment of threadNumber for Alarms too
* Fix threadNumber increment missing
* Make some changes based on Intellij analyze
* Added persistence of alarm state history
* Sort the dimensions by name when creating the metric def id
* Get banner working again
* Fix another spelling error
* Fix spelling
* Remove useless log4j.properties file
* Add comments about useless log4j.properties file
* Changed package name to com.hpcloud.mon.persister
* Minor class and variable name changes
* Remove redundant exception handler
* Add cache for metric definitions
* Only flush staging tables if enough time has elapsed since last flush
* Make commit always flush
* Use individual local temp staging tables
* Warn if not tenantId found
* Add catch for any exceptions
* Warn if not tenantId found
* Remove unnecessary @JsonProperty annotations
* Change JSON format to work with envelopes and meta data
* Add delete before insert for staging tables. Speeds up processing
* Add exception catch
* Add metrics
* Make Deduper delete and purge
* Add logger
* Refactor
* Add truncate after dedupe
* Add deduper
* Fully process metric messages into the DB
* Add log message. Get rid of unnecessary disruptor injection
* Fixed startup command
* Create deb
* Initial import of jdeb
* Start making types more general
* Construct instance of disruptor in provider constructor
* Added Disruptor exception handling
* Make disruptor threads parallel
* Add repository for vertica db
* Clean up DBI Provider
* Make Disruptor a Provider
* Make everything injectable
* Add config logging. Add disruptor shutdown code
* Starting organizing code into
* Basic functionality for sending string message to DB. DB schema 'test'. DB table 'test.metric'. DB column 'test.metric.metric'
* Basic consuming functionality working. kafka consuming and sending thru disruptor. disruptor handlers handling
* Make properties all Strings for Kafka
* Added basic Kafka consumer
* Update README.md
* Start adding testing scaffolding
* Added Guice. Added a KafkaConsumer. Added KafkaConsumer configs
* Added logging to mon-persister-config.yml
* Collate the various META-INF/services entries in the JARs instead of overwriting them. (Jersey doesn’t work without those.)
* Add a simple fake health check to get rid of warnings on startup
* Added banner.txt
* A basic server that runs
* Add dropwizard dependency
* Added more UTF-8 encoding goodness
* Update README.md
* Update README.md
* Changed group. Corrected spelling
* Amend the pom.xml
* Added initial pom.xml
* Initial commit
