Logstash 2.3 Release Notes

  • Added dynamic config, a new feature to track config file for changes and restart the pipeline (same process) with updated config changes. This feature can be enabled in two ways: Passing a CLI long-form option --auto-reload or with short-form -r. Another option, --reload-interval <seconds> controls how often LS should check the config files for changes. Alternatively, if you don’t start with the CLI option, you can send SIGHUP or kill -1 signal to LS to reload the config file, and restart the pipeline (Issue 4513).
  • Added support to evaluate environment variables inside the Logstash config. You can also specify a default if the variable is not defined. The syntax is ${myVar:default} (Issue 3944).
  • Added ability to configure custom garbage collection log file using $LS_LOG_DIR.
  • Deprecated bin/plugin in favor of bin/logstash-plugin. In the next major version bin/plugin will be removed to prevent PATH being polluted when other components of the Elastic stack are installed on the same instance (Issue 4891).
  • Fixed a bug where new pipeline might break plugins by calling the register method twice causing undesired behavior (Issue 4851).
  • Made JAVA_OPTS and LS_JAVA_OPTS work consistently on Windows (Issue 4758).
  • Fixed a bug where specifying JMX parameters in LS_JAVA_OPTS caused Logstash not to restart properly (Issue 4319).
  • Fixed a bug where upgrading plugins with Manticore threw an error and sometimes corrupted installation (Issue 4818).
  • Removed milestone warning that was displayed when the --pluginpath option was used to load plugins (Issue 4562).
  • Upgraded to JRuby 1.7.24.
  • Reverted default output workers to 1. Previously we had made output workers the same as number of pipeline workers (Issue 4877).

Input Plugins


  • Enhanced to verify client certificates against CA (Issue 8).


  • Breaking Change: Metadata is now disabled by default because it was regressing performance.
  • Improved performance by using an internal queue and bulk ACKs.


  • Increased the batch_size to 100 by default. This provides a big jump in throughput and reduction in CPU utilization (Issue 25).


  • Added retry connection feature (Issue 33).

Filter Plugins


  • Improved performance by adding caches to both successful and failed requests.
  • Added support for retrying with the :max_retries setting.
  • Lowered the default value of timeout from 2 to 0.5 seconds.

Output Plugins


  • Bumped minimum Manticore version to 0.5.4 which fixes a memory leak when sniffing is used (Issue 392).
  • Fixed bug when updating documents with doc_as_upsert and scripting.
  • Made error messages more verbose and easier to parse by humans.
  • Retryable failures are now logged at the info level instead of warning.