We are pleased to announce a significant release today, 1.0.3, including (from the release notes) the following:

  1. Added PosgreSQL statechange script, with docker integration for full redundancy of PostgreSQL.
  2. Added full postgres+jira install script in the jira directory in the platform neutral install package.  Tested on Ubuntu 16.04 LTS, and allows fast, easy setup of redundant Postgres servers and the latest Jira via Docker.  When run, it will setup the Heimdall instance to manage the PostgreSQL instances and will configure Jira to use them.
  3. Improved logging for failovers.
  4. Added the ability to flag a rule with a “capture=true” property, allowing property values to be modified by regex capture groups, much like transformation does.  Example rule using this:
    regex: “^/\* (.*) \*/”, action: “forward”, parameter: target=”source-$1″, capture=true.  Target name would extract from the SQL comment and add to the data source name, for dynamic data sourcing.
  5. Improved logging of connections, to match what is logged in the query logs.
  6. Added the ability to monitor PostgreSQL pg_stat_statements on a data source by adding a connection property “pgmon=name”, where name is the vdb the data will be associated with.
  7. Resolved an issue with batch execution, where it would report an exception, even though the batch had been executed properly.
  8. Added logging of newly observed patterns in the logs, even with SQL logging disabled.  This can be useful for helping track security issues after the fact, yet in most configurations will result in very little logging.
  9. Add several new action types:
    • Drop:  Results in an SQL exception for a matching query
    • Evict:  Accepts a list of tables to evict, or the keyword “all”.  Failure to list tables will evict all.  Also accepts a parameter of “olderthan” which can specify an age an object can be to avoid expiry.  This value can be negative to prevent objects from being returned from the cache for a given period of time.  This value is in ms, so 10,000 would be 10 seconds.
    • Ignore:  Accepts the name of a ruletype following to ignore, will honor order of operations.  Table cache rules can’t be ignored this way.
    • Tag:  A no-op action that accepts global parameters, i.e. tables and delay.
  10. Added new global option “printtables” to print the tables extracted for queries to the apps stdout, for debugging table extraction issues.

In particular, for evaluating the product, the jira install script should be invaluable, as it allows one to with a single script, to install Postgres in a redundant failover configuration, along with Jira.  Please see the readme.txt in the jira directory for more information.