cassandra-python-driver v1.0.0 Release Notes

  • Jan 29, 2014

    ๐Ÿ› Bug Fixes

    • โฑ Prevent leak of Scheduler thread (even with proper shutdown)
    • Correctly handle ignored hosts, which are common with the DCAwareRoundRobinPolicy
    • Hold strong reference to prepared statement while executing it to avoid garbage collection
    • โž• Add NullHandler logging handler to the cassandra package to avoid warnings about there being no configured logger
    • ๐Ÿ›  Fix bad handling of nodes that have been removed from the cluster
    • Properly escape string types within cql collections
    • ๐Ÿ– Handle setting the same keyspace twice in a row
    • Avoid race condition during schema agreement checks that could result in schema update queries returning before all nodes had seen the change
    • Preserve millisecond-level precision in datetimes when performing inserts with simple (non-prepared) statements
    • Properly defunct connections when libev reports an error by setting errno instead of simply logging the error
    • ๐Ÿ›  Fix endless hanging of some requests when using the libev reactor
    • Always start a reconnection process when we fail to connect to a newly bootstrapped node
    • Generators map to CQL lists, not key sequences
    • Always defunct connections when an internal operation fails
    • Correctly break from handle_write() if nothing was sent (asyncore reactor only)
    • Avoid potential double-erroring of callbacks when a connection becomes defunct

    ๐Ÿ”‹ Features

    • โž• Add default query timeout to Session
    • โž• Add timeout parameter to Session.execute()
    • โž• Add WhiteListRoundRobinPolicy as a load balancing policy option
    • ๐Ÿ‘Œ Support for consistency level LOCAL_ONE
    • ๐Ÿ‘‰ Make the backoff for fetching traces exponentially increasing and configurable

    Other

    • ๐Ÿ‘ป Raise Exception if TokenAwarePolicy is used against a cluster using the Murmur3Partitioner if the murmur3 C extension has not been compiled
    • โž• Add encoder mapping for OrderedDict
    • ๐Ÿ‘‰ Use timeouts on all control connection queries
    • ๐Ÿ’ป Benchmark improvements, including command line options and eay multithreading support
    • ๐Ÿ”’ Reduced lock contention when using the asyncore reactor
    • Warn when non-datetimes are used for 'timestamp' column values in prepared statements
    • โž• Add requirements.txt and test-requirements.txt
    • โœ… TravisCI integration for running unit tests against Python 2.6, Python 2.7, and PyPy