forked from OpenTSDB/asynchbase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
150 lines (122 loc) · 6.64 KB
/
NEWS
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
HBase Async - User visible changes.
* Version 1.4.0 (2012-??-??) [???????]
* Version 1.3.2 (2012-07-10) [2af9f55]
Noteworthy changes:
- Upgraded to Netty 3.5.2.
- KeyValue now allows a timestamp of 0.
* Version 1.3.1 (2012-06-16) [7ea151b]
- Critical bug fix of issue #27 that makes some keys unusable
given certain region boundaries, in rare circumstances.
- `ensureTableFamilyExists' and `ensureTableExists' are cheaper
as they partially work around HBASE-3170.
* Version 1.3.0 (2012-05-06) [bb9168c]
New public APIs:
- PleaseThrottleException can now give you a Deferred.
- There is now a `Counter' class that provides a highly concurrent
replacement for AtomicLong from jsr166e's LongAdder.
- HBaseClient now has a `bufferAtomicIncrement' method used to
coalesce atomic counter increments.
- A new method, `stats()', provides detailed statistics on the client's
activities (number of calls for various RPCs, number of connections
created, etc.)
- `HBaseClient' has a new `compareAndSet(PutRequests, byte[])' method
for atomic Compare-And-Set (CAS) operation.
- The Scanner has new methods to allow specifying a time range to scan.
- `PutRequest' has extra constructors so as to be able to affect multiple
columns in a row. This is required to be able to atomically CAS more
than one column at a time on a given row.
Deprecated public APIs:
- In HBaseClient, the methods `rootLookupCount()',
`uncontendedMetaLookupCount()', and `contendedMetaLookupCount()' are
deprecated in favor of the new `stats()' API. These methods will be
removed in the 2.0 release.
Noteworthy changes:
- Upgraded to Netty 3.4.3, suasync to 1.2.0.
- asynchbase now depends on Google's Guava library (v12.0).
* Version 1.2.0 (2012-02-21) [a7ae238]
Noteworthy changes:
- Add support for HBase 0.92, as the on-wire RPC format underwent
significant changes that aren't compatible with previous versions.
NOTE: HBase never had a release in the 0.91 branch, and as such
this branch isn't fully supported.
- When talking to HBase 0.92, we automatically batch `DeleteRequests'
with `PutRequests'. Note that batching is enabled by default, and
will thus introduce a delay before sending out `DeleteRequests' to
HBase, whereas in earlier versions (or when talking to HBase 0.90
and before) the `DeleteRequests' are sent out immediately.
New public APIs:
- KeyValue now supports timestamps.
- HBaseClient now accepts a custom socket factory or executor, which can
be used to share an existing thread pool instead of having its own.
- The Netty Timer used by asynchbase is now available through an API, so
that code dependent on asynchbase can re-use the existing Timer thread
instead of having to create its own.
* Version 1.1.0 (2011-12-22) [1272a9e]
Noteworthy changes:
- Add support for CDH3b3's non-standard authentication code. This support
is enabled by specifying the Java system property "org.hbase.async.cdh3b3".
- Add support for HBase 0.90, as on-wire protocol changed in a non-backward
compatible way for the `get' RPC.
- Fix a dumb mistake in the `memcmp()' version that uses an offset and a
length. This function wasn't called either by asynchbase or by OpenTSDB.
- Bytes.pretty() no longer renders control characters like `^X' (which is
similar to what `cat -t' does). Instead they're now rendered like other
non-ASCII characters, using the hex notation `\xXX'. This makes the output
non-ambiguous and pastable into a Python shell.
- HBaseClient.shutdown() could callback too early, while the shutdown
sequence was still running.
- After doing a full-table scan, calling Scanner.close() would trigger an
error as the scanner would attempt to close itself again.
- When disconnecting from a RegionServer, if the socket wasn't getting
closed immediately, a Deferred could get called back twice, which would
trigger an AssertionError.
- DeleteRequest used to delete the last version of a cell, which wasn't the
intended behavior. It has been changed to delete all the previous
versions of a cell.
- Fixed various other race conditions during startup / shutdown that would
generally affect short-lived programs or MapReduce users.
New public APIs:
- DeleteRequest now has constructors for deleting multiple qualifiers per
row at once and deleting a whole family at once.
- New `qualifiers' method in GetRequest for getting multiple qualifiers per
row at once.
- Add new interfaces nested in `HBaseRpc' to provide public APIs to be able
to introspect the contents of RPCs.
* Version 1.0 (2010-11-08) [dafc645]
Initial beta release (bundled with OpenTSDB):
- Switched from LGPLv3+ to BSD license.
- Fixed many bugs, including incorrect or inefficient error handling,
synchronization bugs (race conditions).
- Shutting down the client now correctly waits until all RPCs in flight
have successfully completed.
- No public API changes.
* Version 0.1 (2010-09-08) [d0646bb]
Initial alpha release:
- Get, Put, Scan, ICV, with row locks and time-based edit buffering.
-----
Copyright (C) 2010-2012 The Async HBase Authors. All rights reserved.
This file is part of Async HBase.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither the name of the StumbleUpon nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Local Variables:
mode: outline
End: