This repository has been archived by the owner on Feb 27, 2023. It is now read-only.
forked from hector-client/hector
-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathCHANGELOG
134 lines (113 loc) · 7.47 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Changes by version:
===================
0.7.0 stands for cassandra's 0.7.0 version.
-22 stands for hector's version
Versions above 0.7.0-17 work well with cassandra's 0.7.* (after 0.7.0-beta2)
0.7.0-24
========
Fixed issue with null keyspaces and credentials in HConnectionManager (via Michael Moores)
Added class-level default for failoverPolicy
Rudimentary (very much so) JPA 2.0 support for save and load via openjpa
Ligthweight ORM for JPA 1.0 annotations (additional improvements to BTodd's hector-object-mapper merged in)
Some cleanup of bytebuffer handling in serializers
Initial cut at virtual keyspaces (aka client-level multi-tennancy)
CassandraHostConfigurator and related are now all correctly serializable (patch by Thor Carpenter)
0.7.0-23
========
Initial import of BToddB's hector-object-mapper as object-mapper module
Object mapper ported over to JPA annotations and EntityManager (very redimentary support)
Fix issue with createKeyspace requiring additional column info
Massive changes to pom structure courtesy of Stephen Connolly to facilitate inclusion into maven central repository.
Small tweaks to HConnectionManager courtesy of Benoit Perroud
Collection conversions in AbstractSerializer use the size of the provided collection for initialization. Patch courtesy of Benoit Perroud.
Treat HUnavailableException the same as HTimeoutException
0.7.0-22
========
Fix issue with LeastActiveBalancingPolicy that favoured same host repeatedly
Define ClockResolution as an Interface to allow client to define their own implementations
Added TimeUUID support (me.prettyprint.cassandra.utils.TimeUUIDUtils)
Added updateColumnFamily to Cluster
Shorterm fix for catching InvalidRequestException and handling it correctly for a bootstraping node
0.7.0-21
========
CassandraHostConfigurator is now serializable
Split the project to hector-core
Added removeCassandraHost on HConnectionManager for graceful shutdown of a pool
Configuration of load balancing policy is now done on CassandraHostConfigurator
KnownHosts and per-pool stats are once again available via JMX
Minor logging tweaks to make logging levels more appropriate
Added overloaded version of createColumn (contributed by Michael Moores)
0.7.0-20
========
Added authentication support (contributed by Jim Ancona)
Cleaner abstraction for schema modifications (contributed by Peter Harrison)
- ddl package added
- wrapper classes and interfaces for abstracting protocol
RangeSlicesQuery now supports setRowCount for limiting results to a number of rows
0.7.0-19
========
Fix issue http://github.com/rantav/hector/issues#issue/74 with fix suggested by Patricio Echague
CassandraHostRetry service will retry downed hosts in a background thread at the interval specified on CassandraHostConfigurator (on by default at 30sec interval)
Refactoring of the connection pooling innards to fix epic race condition on failover. This includes but is not limited to:
- Removal of classes effectively matching the pattern CassandraClient* from the service package
- Command is gone. It was no longer needed and was more confusing than anything else
- Pooling logic has been stress tested by a neutral third party (no, really!)
Upgrade to thrift 0.5 to match Cassandra (it caught us by surprise as well).
The system_rename_* methods were removed matching removal of such in Thrift API
Microsecond level granularity is now the default
NodeAutoDiscoverService will periodically look for new hosts on the ring and add them (off by default)
0.7.0-17
========
Add CountQuery, SuperCountQuery and SubCountQuery
Move all the API stuff to me.prettyprint.hector.api.*. Extract interfaces and prepare the ground for more avro good.
- Move all the queries and extract their interfaces
- Rename KeyspaceOperator and extract a Keyspace interface from it
Rename a few exceptions to begin with HSomething so they are hard to unintentionally mix with their thrift doubles.
Bug fixes:
CassandraClientPoolByHostImpl can throw NoSuchElementException
KeyspaceImpl.toString returns super.toString()
API V2 has no means of getting all columns from a row.
KeyspaceOperator throws NPE that masks real exceptions
Timestamp (and Clock in 0.7.0) are not set on HColumn in the constructor
Friendlier API and spring integration
Error in failover - incorrect operation when borrowClient throws an
batchMutate doesn't work with null predicate in deletion. Cannot batch-delete rows.
getSuperColumn() does not return null
KeyspaceImpl.getSuperColumn() should use cassandra.get() and not cassandra.get_slice()
0.6.0-15
========
Add a few more public settings to pass over to GenericObjectPool: lifo, minEvictableIdleTimeMillis and timeBetweenEvictionRunsMillis (contributed by B. Todd Burruss)
Remove some unused meta calls from CassandraClient, such as getConfigFile and getStringProperty
Make the calls of other meta API go through CassandraCluster and by that use an improved version of them in thrift and failover (http://github.com/rantav/hector/issues#issue/11 and http://github.com/rantav/hector/issues#issue/7 and http://github.com/rantav/hector/issues#issue/29)
Add an exception hierarchy to wrap transport and general cassandra API exceptions http://github.com/rantav/hector/issues#issue/32
Make HectorException extend RuntimeException
Add the port number to be part of the cassandra host identifier so that many cassandra instances can be connected from a single hector client, http://github.com/rantav/hector/issues/issue/37/#comment_278773
Fix bogus doubly locked initialization in CassandraClientPoolFactory
Fix http://github.com/rantav/hector/issues/issue/48 KeyspaceImpl.getSuperColumn() should use cassandra.get() and not cassandra.get_slice()
Allow CassandraClientPool to provide settings from CassandraHostConfigurator to new hosts if it was configured from such. http://github.com/rantav/hector/issues/issue/47
Fix http://github.com/rantav/hector/issues#issue/50 getSuperColumn() does not return null
New and fancy API. We call this API v2 beta b/c we want to collect feedback from the commumnity before finalizing it
0.6.0-14
========
Add getRangeSuperSlices http://github.com/rantav/hector/issues/#issue/38
Add Command.execute that accepts a configurable FailoverPolicy
Improve maven build file
0.6.0-13
========
Fix duplicate host entries and two connection pools to the same host http://github.com/rantav/hector/issues/closed#issue/37
Make loading hectorLog4j.xml optional, controlled by system property com.prettyprint.cassandra.load_hector_log4j http://github.com/rantav/hector/issues/closed#issue/36
Fix - JMX counter NumActive isn't reporting a correct num http://github.com/rantav/hector/issues/closed#issue/33
Chagne the name of the perf4 logger to be me.prettyprint.hector.TimingLogger
Fix duplicate releases of clients when failing over to next host and connection leaking (no bug, was introduced by recent refactors)
Improve failover - if the current host isn't in the list of known hosts, just failover to any random known host, don't give up
Fix perf4j logger name so perf stats will actually work
added overloaded remove for user specified timestamps
Add @deprecated to getRangeSlice
Add CassandraClientPool.getMbean
Make Keyspace.createTimestamp public
Change default DEFAULT_MAX_IDLE to -1
0.6.0-12
========
Timestampes are currently in milliseconds, should be microseconds http://github.com/rantav/hector/issues/closed#issue/28
getPackage() MAY return a null at JmxMonitor constructor. http://github.com/rantav/hector/issues/closed#issue/26
Change default consistency level to QUORUM from DCQUOROM http://github.com/rantav/hector/issues#issue/30