forked from OpenTSDB/asynchbase
/
NEWS
117 lines (96 loc) · 5.29 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
HBase Async - User visible changes.
* Version 1.3.0 (2012-??-??) [???????]
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.
Noteworthy changes:
- Upgraded to Netty 3.4.3.
- 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: