Changes:
- Fix some integer overflow issues, such as string length overflow.
- Fix handling of break-hardlink-on-save with non-existent files.
- Common Lisp indentation improvements on defmethod and lambda-lists.
- use the correct way to get the size of a disk device or partition (from
haad@NetBSD.org)
- if given a block device, use the character device instead (the block device
is already in use by the backend driver).
With this I could succeffully boot a HVMPV FreeBSD kernel using a phy:
virtual disk.
* Display messages work properly again.
* Fixes plaintext command injection vulnerability in FTPS implementation
(i.e. mod_tls). See http://bugs.proftpd.org/show_bug.cgi?id=3624 for
details.
* Fixes CVE-2011-1137 (badly formed SSH messages cause DoS). See
http://bugs.proftpd.org/show_bug.cgi?id=3586 for details.
* Performance improvements, especially during server startup/restarts.
* OpenSSL/crypto/x509.c: Add get_extension_count and get_extension
to the X509 type, allowing read access to certificate extensions.
* OpenSSL/crypto/x509ext.c: Add get_short_name and get_data to the
X509Extension type, allowing read access to the contents of an
extension.
* OpenSSL/ssl/ssl.c: Expose a number of symbolic constants for
values passed to the connection "info" callback.
* OpenSSL/ssl/connection.py: Add support for new-style
buffers (primarily memoryviews) to Connection.send and
Connection.sendall.
Changes since version 0.5.0:
- THRIFT-1002: CodeStyle: t_c_glib_generator.cc (Anatol Pomozov)
- THRIFT-975: lib/c_glib/README is missing => breaks make dist (Michael Lum)
- THRIFT-1003: Polishing c_glib code (Anatol Pomozov)
- THRIFT-582: C implementation of Thrift (Anatol Pomozov)
- THRIFT-992: Naming convention in C# constructor is not consistent with
other fields causes compile errors (Roger Meier)
- THRIFT-904: Disable nagle and linger
- THRIFT-977: Hex Conversion Bug in C++ TJSONProtocol (Aravind Narayanan)
- THRIFT-922: Templatized [de]serialization code for C++ (David Reiss)
- THRIFT-923: Event-driven client and server support for C++ (David Reiss)
- THRIFT-925: Provide name<->value map for enums in C++ (David Reiss)
- THRIFT-926: Miscellaneous C++ improvements (David Reiss)
- THRIFT-928: Make more statistics available in C++ servers (David Reiss)
- THRIFT-929: Improvements to the C++ test suite (David Reiss)
- THRIFT-868: Referencing constant values doesn't work with with typedef
types (David Reiss)
- THRIFT-1006: Impossible to correctly qualify an enum constant in an
external thrift file (Bryan Duxbury)
- THRIFT-932: Haskell Haskell tests need to be run through 'make check' (and probably 'cabal check') too (Christian Lavoie)
- THRIFT-933: Haskell Haskell's Thrift.cabal has warnings (Christian Lavoie)
- THRIFT-943: Haskell Silly readme typo fix. (Christian Lavoie)
- THRIFT-944: Haskell Support all version-4s of base (Christian Lavoie)
- THRIFT-950: Haskell Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t). (Christian Lavoie)
- THRIFT-1009: Java TUnion does not correctly deep copy a ByteBuffer (Takashi Yonebayashi)
- THRIFT-1013: Java generated java code may have name clashes with thrift library (Peter Schuller)
- THRIFT-1015: Java TUnion does not handle ByteBuffer in toString (Takashi Yonebayashi)
- THRIFT-1038: Java Generated Java code for structures containing binary fields (or collections thereof) are not serializable (in the Java sense) even though they implement java.io.Serializable (Mathias Herberts)
- THRIFT-106: Java TSSLServerSocket (Nirmal Ranganathan)
- THRIFT-377: Java TFileTransport port in Java (Joydeep Sen Sarma)
- THRIFT-745: Java Make it easier to instantiate servers (Bryan Duxbury)
- THRIFT-862: Java Async client issues / improvements (Ning Liang)
- THRIFT-903: Java custom ThreadFactory in THsHaServer (Bryan Duxbury)
- THRIFT-939: Java optional binary fields throw NPE on default byte[] getters (Bryan Duxbury)
- THRIFT-947: Java Provide a helper method to determine the TProtocol used to serialize some data. (Mathias Herberts)
- THRIFT-951: Java Add a new isServing() method to TServer (Bryan Duxbury)
- THRIFT-957: Java THsHaServer: Change access modifier of the invoker field. (Benjamin Coverston)
- THRIFT-958: Java Change accessmodifer on trans_ field in the FrameBuffer class to public. (Benjamin Coverston)
- THRIFT-959: Java TSocket seems to do its own buffering inefficiently (Bryan Duxbury)
- THRIFT-970: Java Under heavy load, THttpClient may fail with "too many open files" (Mathias Herberts)
- THRIFT-971: Java java module can't be compiled without ivy and network connection (Roger Meier)
- JavaScript: TestSuite using ant/ivy and Java's ServerTestBase Handler (Roger Meier)
- THRIFT-1005: Java Give unions byte[] signature methods to go along with their ByteBuffer counterparts (Bryan Duxbury)
- THRIFT-1008: Java byte[] accessors throw NPE on unset field (Bryan Duxbury)
- THRIFT-517: Java TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes (Bryan Duxbury)
- THRIFT-946: Java Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields. (Mathias Herberts)
- THRIFT-949: Java Modify the TEnum interface so it defines a method similar to findByValue (Mathias Herberts)
- THRIFT-960: Java add TestServer, TestNonblockingServer and TestClient again (Roger Meier)
- THRIFT-969: Java Java Tutorial broken, move CalculatorHandler to a separate file (Roger Meier)
- THRIFT-1051: Java Fix compiler issue for java 1.5
- THRIFT-807: JavaScript JavaScript: Initialization of Base Types with 0 instead of null (Roger Meier)
- THRIFT-913: JavaScript Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh (Roger Meier)
- THRIFT-961: JavaScript
- THRIFT-1033: JavaScript Node.js support (Wade Simmons)
- THRIFT-1042: JavaScript Node.js Fix TApplicationException.read Patch (Wade Simmons)
- THRIFT-1043: JavaScript Node.js Fix how the length of a map is calculated
- THRIFT-1044: JavaScript Fix JavaScript inheritance Patch (Wade Simmons)
- THRIFT-71: Misc Debian packaging for thrift (Roger Meier)
- THRIFT-1020: OCaml OCaml compiler generates invalid OCaml (Richard Low)
- THRIFT-347: PHP PHP TSocket Timeout Issues (Tyler Hobbs)
- THRIFT-924: PHP Fix generated php structure constants (David Reiss)
- THRIFT-927: PHP Add option to modify the PHP include path (David Reiss)
- THRIFT-935: PHP PHP Extension aborts the build if php-config is not installed (David Reiss)
- THRIFT-941: PHP Make PHP C Extension use the defined Protocol writeMessageBegin function (Chris Goffinet)
- THRIFT-955: PHP Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms (Roger Meier)
- THRIFT-979: Ruby ruby bindings used to work on jruby (Jeff Hodges)
- THRIFT-581: Test Suite Add a testsuite for txThrift (Twisted) (Esteve Fernandez)
- THRIFT-1024: Tutorial Add Python Twisted example to the Tutorial (Roger Meier)
- THRIFT-893: Tutorial add JavaScript to the tutorial examples (Roger Meier)
Changes since version 0.7.0:
* force GC to reclaim disk space on flush, if necessary (CASSANDRA-2404)
* move gossip heartbeat back to its own thread (CASSANDRA-2554)
* fix incorrect use of NBHM.size in ReadCallback that could cause
reads to time out even when responses were received (CASSAMDRA-2552)
* trigger read repair correctly for LOCAL_QUORUM reads (CASSANDRA-2556)
* correctly reject query with missing mandatory super columns and validate
super column name in Deletion (CASSANDRA-2571)
* refuse to apply migrations with older timestamps than the current
schema (CASSANDRA-2536)
* faster flushes and compaction from fixing excessively pessimistic
rebuffering in BRAF (CASSANDRA-2581)
* include indexes in snapshots (CASSANDRA-2596)
* improve ignoring of obsolete mutations in index maintenance (CASSANDRA-2401)
* recognize attempt to drop just the index while leaving the column
definition alone (CASSANDRA-2619)
* Don't allow {LOCAL|EACH}_QUORUM unless strategy is NTS (CASSANDRA-2627)
* Fix regression where bootstrapping a node with no schema fails
(CASSANDRA-2625)
* Allow removing LocationInfo sstables (CASSANDRA-2632)
* avoid attempting to replay mutations from dropped keyspaces (CASSANDRA-2631)
* avoid using cached position of a key when GT is requested (CASSANDRA-2633)
* fix counting bloom filter true positives (CASSANDRA-2637)
* initialize local ep state prior to gossip startup if needed (CASSANDRA-2638)
* fix empty Result with secondary index when limit=1 (CASSANDRA-2628)
* add quote-escaping via backslash to CLI (CASSANDRA-2623)
* fig pig example script (CASSANDRA-2487)
* fix dynamic snitch race in adding latencies (CASSANDRA-2618)
* Start/stop cassandra after more important services such as mdadm in
debian packaging (CASSANDRA-2481)
* improvements/fixes to PIG driver (CASSANDRA-1618, CASSANDRA-2387,
CASSANDRA-2465, CASSANDRA-2484)
* validate index names (CASSANDRA-1761)
* reduce contention on Table.flusherLock (CASSANDRA-1954)
* try harder to detect failures during streaming, cleaning up temporary
files more reliably (CASSANDRA-2088)
* shut down server for OOM on a Thrift thread (CASSANDRA-2269)
* fix tombstone handling in repair and sstable2json (CASSANDRA-2279)
* preserve version when streaming data from old sstables (CASSANDRA-2283)
* don't start repair if a neighboring node is marked as dead (CASSANDRA-2290)
* purge tombstones from row cache (CASSANDRA-2305)
* Avoid seeking when sstable2json exports the entire file (CASSANDRA-2318)
* clear Built flag in system table when dropping an index (CASSANDRA-2320)
* don't allow arbitrary argument for stress.java (CASSANDRA-2323)
* validate values for index predicates in get_indexed_slice (CASSANDRA-2328)
* queue secondary indexes for flush before the parent (CASSANDRA-2330)
* allow job configuration to set the CL used in Hadoop jobs (CASSANDRA-2331)
* add memtable_flush_queue_size defaulting to 4 (CASSANDRA-2333)
* Allow overriding of initial_token, storage_port and rpc_port from system
properties (CASSANDRA-2343)
* fix comparator used for non-indexed secondary expressions in index scan
(CASSANDRA-2347)
* ensure size calculation and write phase of large-row compaction use
the same threshold for TTL expiration (CASSANDRA-2349)
* fix race when iterating CFs during add/drop (CASSANDRA-2350)
* add ConsistencyLevel command to CLI (CASSANDRA-2354)
* allow negative numbers in the cli (CASSANDRA-2358)
* hard code serialVersionUID for tokens class (CASSANDRA-2361)
* fix potential infinite loop in ByteBufferUtil.inputStream (CASSANDRA-2365)
* fix encoding bugs in HintedHandoffManager, SystemTable when default
charset is not UTF8 (CASSANDRA-2367)
* avoids having removed node reappearing in Gossip (CASSANDRA-2371)
* fix incorrect truncation of long to int when reading columns via block
index (CASSANDRA-2376)
* fix NPE during stream session (CASSANDRA-2377)
* fix race condition that could leave orphaned data files when dropping CF or
KS (CASSANDRA-2381)
* fsync statistics component on write (CASSANDRA-2382)
* fix duplicate results from CFS.scan (CASSANDRA-2406)
* halve default memtable thresholds (CASSANDRA-2413)
* add IntegerType to CLI help (CASSANDRA-2414)
* avoid caching token-only decoratedkeys (CASSANDRA-2416)
* convert mmap assertion to if/throw so scrub can catch it (CASSANDRA-2417)
* don't overwrite gc log (CASSANDR-2418)
* invalidate row cache for streamed row to avoid inconsitencies
(CASSANDRA-2420)
* avoid copies in range/index scans (CASSANDRA-2425)
* make sure we don't wipe data during cleanup if the node has not join
the ring (CASSANDRA-2428)
* Try harder to close files after compaction (CASSANDRA-2431)
* re-set bootstrapped flag after move finishes (CASSANDRA-2435)
* display validation_class in CLI 'describe keyspace' (CASSANDRA-2442)
* make cleanup compactions cleanup the row cache (CASSANDRA-2451)
* add column fields validation to scrub (CASSANDRA-2460)
* use 64KB flush buffer instead of in_memory_compaction_limit (CASSANDRA-2463)
* fix backslash substitutions in CLI (CASSANDRA-2492)
* disable cache saving for system CFS (CASSANDRA-2502)
* fixes for verifying destination availability under hinted conditions
so UE can be thrown intead of timing out (CASSANDRA-2514)
* fix update of validation class in column metadata (CASSANDRA-2512)
* support LOCAL_QUORUM, EACH_QUORUM CLs outside of NTS (CASSANDRA-2516)
* count a row deletion as one operation towards memtable threshold
(CASSANDRA-2519)
* add nodetool join command (CASSANDRA-2160)
* fix secondary indexes on pre-existing or streamed data (CASSANDRA-2244)
* initialize endpoint in gossiper earlier (CASSANDRA-2228)
* add ability to write to Cassandra from Pig (CASSANDRA-1828)
* add rpc_[min|max]_threads (CASSANDRA-2176)
* add CL.TWO, CL.THREE (CASSANDRA-2013)
* avoid exporting an un-requested row in sstable2json, when exporting
a key that does not exist (CASSANDRA-2168)
* add incremental_backups option (CASSANDRA-1872)
* add configurable row limit to Pig loadfunc (CASSANDRA-2276)
* validate column values in batches as well as single-Column inserts
(CASSANDRA-2259)
* move sample schema from cassandra.yaml to schema-sample.txt,
a cli scripts (CASSANDRA-2007)
* avoid writing empty rows when scrubbing tombstoned rows (CASSANDRA-2296)
* fix assertion error in range and index scans for CL < ALL
(CASSANDRA-2282)
* fix commitlog replay when flush position refers to data that didn't
get synced before server died (CASSANDRA-2285)
* fix fd leak in sstable2json with non-mmap'd i/o (CASSANDRA-2304)
* reduce memory use during streaming of multiple sstables (CASSANDRA-2301)
* purge tombstoned rows from cache after GCGraceSeconds (CASSANDRA-2305)
* allow zero replicas in a NTS datacenter (CASSANDRA-1924)
* make range queries respect snitch for local replicas (CASSANDRA-2286)
* fix HH delivery when column index is larger than 2GB (CASSANDRA-2297)
* make 2ary indexes use parent CF flush thresholds during initial build
(CASSANDRA-2294)
* update memtable_throughput to be a long (CASSANDRA-2158)
* Keep endpoint state until aVeryLongTime (CASSANDRA-2115)
* lower-latency read repair (CASSANDRA-2069)
* add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
* fixes for cache save/load (CASSANDRA-2172, -2174)
* Handle whole-row deletions in CFOutputFormat (CASSANDRA-2014)
* Make memtable_flush_writers flush in parallel (CASSANDRA-2178)
* Add compaction_preheat_key_cache option (CASSANDRA-2175)
* refactor stress.py to have only one copy of the format string
used for creating row keys (CASSANDRA-2108)
* validate index names for \w+ (CASSANDRA-2196)
* Fix Cassandra cli to respect timeout if schema does not settle
(CASSANDRA-2187)
* fix for compaction and cleanup writing old-format data into new-version
sstable (CASSANDRA-2211, -2216)
* add nodetool scrub (CASSANDRA-2217, -2240)
* fix sstable2json large-row pagination (CASSANDRA-2188)
* fix EOFing on requests for the last bytes in a file (CASSANDRA-2213)
* fix BufferedRandomAccessFile bugs (CASSANDRA-2218, -2241)
* check for memtable flush_after_mins exceeded every 10s (CASSANDRA-2183)
* fix cache saving on Windows (CASSANDRA-2207)
* add validateSchemaAgreement call + synchronization to schema
modification operations (CASSANDRA-2222)
* fix for reversed slice queries on large rows (CASSANDRA-2212)
* fat clients were writing local data (CASSANDRA-2223)
* turn off string interning in json2sstable (CASSANDRA-2189)
* set DEFAULT_MEMTABLE_LIFETIME_IN_MINS to 24h
* improve detection and cleanup of partially-written sstables
(CASSANDRA-2206)
* fix supercolumn de/serialization when subcolumn comparator is different
from supercolumn's (CASSANDRA-2104)
* fix starting up on Windows when CASSANDRA_HOME contains whitespace
(CASSANDRA-2237)
* add [get|set][row|key]cacheSavePeriod to JMX (CASSANDRA-2100)
* fix Hadoop ColumnFamilyOutputFormat dropping of mutations
when batch fills up (CASSANDRA-2255)
* move file deletions off of scheduledtasks executor (CASSANDRA-2253)
* copy DecoratedKey.key when inserting into caches to avoid retaining
a reference to the underlying buffer (CASSANDRA-2102)
* format subcolumn names with subcomparator (CASSANDRA-2136)
* fix column bloom filter deserialization (CASSANDRA-2165)
* refactor MessageDigest creation code. (CASSANDRA-2107)
* buffer network stack to avoid inefficient small TCP messages while avoiding
the nagle/delayed ack problem (CASSANDRA-1896)
* check log4j configuration for changes every 10s (CASSANDRA-1525, 1907)
* more-efficient cross-DC replication (CASSANDRA-1530, -2051, -2138)
* avoid polluting page cache with commitlog or sstable writes
and seq scan operations (CASSANDRA-1470)
* add RMI authentication options to nodetool (CASSANDRA-1921)
* make snitches configurable at runtime (CASSANDRA-1374)
* retry hadoop split requests on connection failure (CASSANDRA-1927)
* implement describeOwnership for BOP, COPP (CASSANDRA-1928)
* make read repair behave as expected for ConsistencyLevel > ONE
(CASSANDRA-982, 2038)
* distributed test harness (CASSANDRA-1859, 1964)
* reduce flush lock contention (CASSANDRA-1930)
* optimize supercolumn deserialization (CASSANDRA-1891)
* fix CFMetaData.apply to only compare objects of the same class
(CASSANDRA-1962)
* allow specifying specific SSTables to compact from JMX (CASSANDRA-1963)
* fix race condition in MessagingService.targets (CASSANDRA-1959, 2094, 2081)
* refuse to open sstables from a future version (CASSANDRA-1935)
* zero-copy reads (CASSANDRA-1714)
* fix copy bounds for word Text in wordcount demo (CASSANDRA-1993)
* fixes for contrib/javautils (CASSANDRA-1979)
* check more frequently for memtable expiration (CASSANDRA-2000)
* fix writing SSTable column count statistics (CASSANDRA-1976)
* fix streaming of multiple CFs during bootstrap (CASSANDRA-1992)
* explicitly set JVM GC new generation size with -Xmn (CASSANDRA-1968)
* add short options for CLI flags (CASSANDRA-1565)
* make keyspace argument to "describe keyspace" in CLI optional
when authenticated to keyspace already (CASSANDRA-2029)
* added option to specify -Dcassandra.join_ring=false on startup
to allow "warm spare" nodes or performing JMX maintenance before
joining the ring (CASSANDRA-526)
* log migrations at INFO (CASSANDRA-2028)
* add CLI verbose option in file mode (CASSANDRA-2030)
* add single-line "--" comments to CLI (CASSANDRA-2032)
* message serialization tests (CASSANDRA-1923)
* switch from ivy to maven-ant-tasks (CASSANDRA-2017)
* CLI attempts to block for new schema to propagate (CASSANDRA-2044)
* fix potential overflow in nodetool cfstats (CASSANDRA-2057)
* add JVM shutdownhook to sync commitlog (CASSANDRA-1919)
* allow nodes to be up without being part of normal traffic (CASSANDRA-1951)
* fix CLI "show keyspaces" with null options on NTS (CASSANDRA-2049)
* fix possible ByteBuffer race conditions (CASSANDRA-2066)
* reduce garbage generated by MessagingService to prevent load spikes
(CASSANDRA-2058)
* fix math in RandomPartitioner.describeOwnership (CASSANDRA-2071)
* fix deletion of sstable non-data components (CASSANDRA-2059)
* avoid blocking gossip while deleting handoff hints (CASSANDRA-2073)
* ignore messages from newer versions, keep track of nodes in gossip
regardless of version (CASSANDRA-1970)
* cache writing moved to CompactionManager to reduce i/o contention and
updated to use non-cache-polluting writes (CASSANDRA-2053)
* page through large rows when exporting to JSON (CASSANDRA-2041)
* add flush_largest_memtables_at and reduce_cache_sizes_at options
(CASSANDRA-2142)
* add cli 'describe cluster' command (CASSANDRA-2127)
* add cli support for setting username/password at 'connect' command
(CASSANDRA-2111)
* add -D option to Stress.java to allow reading hosts from a file
(CASSANDRA-2149)
* bound hints CF throughput between 32M and 256M (CASSANDRA-2148)
* continue starting when invalid saved cache entries are encountered
(CASSANDRA-2076)
* add max_hint_window_in_ms option (CASSANDRA-1459)
* handle replica unavailability in index scan (CASSANDRA-1755)
* fix service initialization order deadlock (CASSANDRA-1756)
* multi-line cli commands (CASSANDRA-1742)
* fix race between snapshot and compaction (CASSANDRA-1736)
* add listEndpointsPendingHints, deleteHintsForEndpoint JMX methods
(CASSANDRA-1551)
* Fix a problem with WAL mode which could cause transactions to silently
rollback if the cache_size is set very small (less than 10) and SQLite comes
under memory pressure.