Hide
The signature for several methods on Put, Result, ColumnInterpreter, and BaseRegionObserver have been modified to use the Cell interface instead of KeyValues. Applications need to convert KeyValue and List<KeyValue> to Cell and List<Cell>. The changes are summarized here:
Put:
- public List<KeyValue> get(byte[] family, byte[] qualifier)
+ public List<Cell> get(byte[] family, byte[] qualifier)
Result:
- public KeyValue[] raw() {
+ public Cell[] raw() {
- public List<KeyValue> list() {
+ public List<Cell> list() {
- public List<KeyValue> getColumn(byte [] family, byte [] qualifier) {
+ public List<Cell> getColumn(byte [] family, byte [] qualifier) {
- public KeyValue getColumnLatest(byte [] family, byte [] qualifier) {
+ public Cell getColumnLatest(byte [] family, byte [] qualifier) {
- public KeyValue getColumnLatest(byte [] family, int foffset, int flength,
+ public Cell getColumnLatest(byte [] family, int foffset, int flength,
byte [] qualifier, int qoffset, int qlength) {
For extension interfaces BaseRegionObserver and ColumnInterpreter, we have kept both the old and new signature, including a shim that has the abstract implementation helper have the new call the old implementation. For the shim to handle the List<KeyValue> -> List<Cell> conversion, we use an expensive naive array copy. It is strongly recommended that the new coprocessors are updated to override the new undeprecated API.
ColumnInterpreter: (abstract class)
- public abstract T getValue(byte[] colFamily, byte[] colQualifier, KeyValue kv)
+ public abstract T getValue(byte[] colFamily, byte[] colQualifier, Cell kv)
BaseRegionObserver: (abstract class)
RegionObserver: (inteface)
void preGet(final ObserverContext<RegionCoprocessorEnvironment> c, final Get get,
- final List<KeyValue> result)
+ final List<Cell> result)
throws IOException;
void postGet(final ObserverContext<RegionCoprocessorEnvironment> c, final Get get,
- final List<KeyValue> result)
+ final List<Cell> result)
throws IOException;
Show
The signature for several methods on Put, Result, ColumnInterpreter, and BaseRegionObserver have been modified to use the Cell interface instead of KeyValues. Applications need to convert KeyValue and List<KeyValue> to Cell and List<Cell>. The changes are summarized here:
Put:
- public List<KeyValue> get(byte[] family, byte[] qualifier)
+ public List<Cell> get(byte[] family, byte[] qualifier)
Result:
- public KeyValue[] raw() {
+ public Cell[] raw() {
- public List<KeyValue> list() {
+ public List<Cell> list() {
- public List<KeyValue> getColumn(byte [] family, byte [] qualifier) {
+ public List<Cell> getColumn(byte [] family, byte [] qualifier) {
- public KeyValue getColumnLatest(byte [] family, byte [] qualifier) {
+ public Cell getColumnLatest(byte [] family, byte [] qualifier) {
- public KeyValue getColumnLatest(byte [] family, int foffset, int flength,
+ public Cell getColumnLatest(byte [] family, int foffset, int flength,
byte [] qualifier, int qoffset, int qlength) {
For extension interfaces BaseRegionObserver and ColumnInterpreter, we have kept both the old and new signature, including a shim that has the abstract implementation helper have the new call the old implementation. For the shim to handle the List<KeyValue> -> List<Cell> conversion, we use an expensive naive array copy. It is strongly recommended that the new coprocessors are updated to override the new undeprecated API.
ColumnInterpreter: (abstract class)
- public abstract T getValue(byte[] colFamily, byte[] colQualifier, KeyValue kv)
+ public abstract T getValue(byte[] colFamily, byte[] colQualifier, Cell kv)
BaseRegionObserver: (abstract class)
RegionObserver: (inteface)
void preGet(final ObserverContext<RegionCoprocessorEnvironment> c, final Get get,
- final List<KeyValue> result)
+ final List<Cell> result)
throws IOException;
void postGet(final ObserverContext<RegionCoprocessorEnvironment> c, final Get get,
- final List<KeyValue> result)
+ final List<Cell> result)
throws IOException;