-ANN: Exhibitor 1.4.0
Jordan Zimmerman 2012-10-14, 01:23
* When shutting down ZooKeeper, attempt a simple kill first before trying kill -9.
* Issue 51: Include log4j in standalone version
* Reworked how CLI options are displayed in the standalone version. There are so many now it was
* Issue 54: Added a new REST API to the Cluster APIs to get the status/state of the entire cluster.
See the wiki for details.
* Issue 55: Added a way to specify the ACL in the standalone version. Run with "--help" to see
how to set the options.
need to be destroyed explicitly and that event handlers have to be unbound explicitly. This accounts
for 99% of the weirdness with the buttons in the UI and the problems with the 4LTR dialog. I've also
added cache defeating query parameters to all AJAX URLs.
* Issue 58: Added a ZookeeperConfigProvider. The idea here is to use a second Zookeeper cluster
as a datastore for Exhibitor's shared config. You can run Exhibitor on the shared config ensemble
but it will need to be run without shared config. Please see the Github wiki for details.
* The change for Issue 58 involved more CLI options for config. For clarity, I've broken the config
options into groups - a group for each type. A new *required* CLI option has been added: "configtype".
It must be either "file", "s3", "zookeeper" or "none". Configtype "none" is a special purpose type
to be used for running Exhibitor on the ZooKeeper cluster that is storing config for the main ZooKeeper
* Issue 63: Restart, Stop, Start buttons on the control panels now better reflect the state of the
"Automatic Instance Restarts" switch. If the switch is On, the button is "Restart". If the switch is
Off, the button is "Stop" if the instance is running and "Start" if the instance is not running.
* Issue 61: The "Additional Config" section should retain the order that it was entered instead of
* Issue 59: Support a separate Transaction Log directory in the config. It can be blank and will
default to the Snapshot directory.
* Updates to the control panel were not warning if another process updated the config at the same time.
* Automatic instance management checkbox moved to the Config tab.
* Lots of UI/logging tweaks and improvements.
* Major reworking of automatic instance management and some work on rolling config:
Automatic Instance Management (AIM) no longer uses heartbeats to determine instance state. Instead,
a REST call is periodically made to each instance in the cluster. This should be more reliable.
Instead of making changes one-by-one, AIM now reconfigures the entire cluster. i.e. if an instance
is new and it notices there is an instance that's been removed, both changes are made in one shot.
The previous config value DEAD_INSTANCE_PERIOD_MS has been removed. In its place is
AUTO_MANAGE_INSTANCES_SETTLING_PERIOD_MS. AIM waits until the ensemble state (quorum, members, etc.)
has been without change for this period before making any changes. Also, the ensemble must be
in Quorum for AIM to make changes.
Previously, Rolling Config Changes would wait for Quorum before the config change advances to
the next instance. However it would only wait up to 4 attempts. If the number of attempts was
exceeded it would advance anyway. This has been changed. If Quorum is not achieved within 4
attempts the rolling config change is canceled and the change is force applied. The hope
is that the ensemble will then settle.