|
| 1 | +1.0.0b7 |
| 2 | +======= |
| 3 | +Nov 12, 2013 |
| 4 | + |
| 5 | +This release makes many stability improvements, especially around |
| 6 | +prepared statements and node failure handling. In particular, |
| 7 | +several cases where a request would never be completed (and as a |
| 8 | +result, leave the application hanging) have been resolved. |
| 9 | + |
| 10 | +Features |
| 11 | +-------- |
| 12 | +* Add `timeout` kwarg to ``ResponseFuture.result()`` |
| 13 | +* Create connection pools to all hosts in parallel when initializing |
| 14 | + new Sesssions. |
| 15 | + |
| 16 | +Bug Fixes |
| 17 | +--------- |
| 18 | +* Properly set exception on ResponseFuture when a query fails |
| 19 | + against all hosts |
| 20 | +* Improved cleanup and reconnection efforts when reconnection fails |
| 21 | + on a node that has recently come up |
| 22 | +* Use correct consistency level on when retrying failed operations |
| 23 | + against a different host. (An invalid consistency level was being |
| 24 | + used, causing the retry to fail.) |
| 25 | +* Better error messages for failed prepare() opertaions |
| 26 | +* Prepare new statements against all hosts in parallel (formerly |
| 27 | + sequential) |
| 28 | +* Fix failure to save the new current keyspace on connections. (This |
| 29 | + could cause problems for prepared statements and lead to extra |
| 30 | + operations to continuously re-set the keyspace) |
| 31 | +* Avoid sharing LoadBalancingPolicies across Cluster instances. (When a second |
| 32 | + Cluster was connected, it effectively mark nodes down for the first Cluster.) |
| 33 | +* Better handling of failures during the re-preparation sequence for unrecognized |
| 34 | + prepared statements |
| 35 | +* Throttle trashing of underutilized connections to avoid trashing newly |
| 36 | + created connections |
| 37 | +* Fix race condition which could result in trashed connections being closed |
| 38 | + before the last operations had completed |
| 39 | +* Avoid preparing statements on the event loop thread (which could lead to |
| 40 | + deadlock) |
| 41 | +* Correctly mark up non-contact point nodes discovered by the control |
| 42 | + connection. (This lead to prepared statements not being prepared |
| 43 | + against those hosts, generating extra traffic later when the |
| 44 | + statements were executed and unrecognized.) |
| 45 | +* Correctly handle large messages through libev |
| 46 | +* Add timeout to schema agreement check queries |
| 47 | +* More complete (and less contended) locking around manipulation of the |
| 48 | + pending message deque for libev connections |
| 49 | + |
| 50 | +Other |
| 51 | +----- |
| 52 | +* Prepare statements in batches of 10. (When many prepared statements |
| 53 | + are in use, this allows the driver to start utilizing nodes that |
| 54 | + were restarted more quickly.) |
| 55 | +* Better debug logging around connection management |
| 56 | +* Don't retain unreferenced prepared statements in the local cache. |
| 57 | + (If many different prepared statements were created, this would |
| 58 | + increase memory usage and greatly increase the amount of time |
| 59 | + required to being utilizing a node that was added or marked |
| 60 | + up.) |
| 61 | + |
1 | 62 | 1.0.0b6 |
2 | 63 | ======= |
3 | 64 | Oct 22, 2013 |
|
0 commit comments