neo4j/neo4j — pull request #3607 by chrisvest (2014-12-04 15:00:11+00:00)
Title: Remove configuration change restarts

This feature was completely broken, and no tests were concerned with its well-being.
If you asked the ConfigurationBean to apply a new configuration, the server would attempt a partial restart and fail half-way through, locking up the whole database until the process as a whole was restarted.
It's a high-complexity, low-value feature, that was easy to forget about, and the partial restarts were hard to reason about, and I've never heard of anyone using it.
If you were using it, the new way of applying new configurations is to just restart the whole database.
If there are no active transactions running that we need to wait for, then the turn-around time for a clean restart is pretty short anyway.

This commit also fixes a bug in the deprecated `Config.setProperty()` method that, if used, would delete all properties instead of adding the given one.
Furthermore, the ConfigurationBean will not refuse writes to the attributes that it has always claimed were read-only. Which is all of them.
A new internal configuration has also been added, called `transaction_start_timeout`, which controls how long we will wait for the database to become available when starting a new transaction.