Как удалить записи в Accumulo на основе rowkey через прокси-клиент Accumulo

Я использую Accumulo 1.6 и хочу удалить некоторые записи, указав ключ строки через прокси-клиент accumulo в nodejs.

но прокси-клиент выдает «начальная строка должна быть меньше конечной строки», когда я пытаюсь поместить тот же ключ строки в API deleteRows

var rowId = "1";
var proxyClient = getAccumuloProxyClient();
proxyClient.deleteRows(getLogin(), TABLE_NAME, rowId, rowId, callback);

ОБНОВЛЕНИЕ: допустим, таблица выглядит так:

rowID | columnFamily | columnQualifier
1        name           John
1        age            25
1        department     sales
2        name           Lisa
2        age            25  
2        department     sales

какие параметры я должен передать функции deleteRows, если я хочу удалить все строки с rowID, равным 1? Я пробовал пройти 1, чтобы начать и закончить, но он жалуется

"org.apache.accumulo.core.client.AccumuloException: start row must be less than end row"

затем я попытался пройти start = 1 и end = 1\0, чтобы убедиться, что начало меньше, чем конец, но ничего не произошло, ни ошибки, ни строки удалены. Я думаю, что начало было исключено, а конец включен для удаления строк. Поэтому я не понимаю, как удалить одну запись (какие строки имеют одинаковый идентификатор строки).


person Gary    schedule 20.03.2015    source источник
comment
Какую конкретную версию Accumulo вы используете?   -  person elserj    schedule 22.03.2015
comment
@elserj Я просто использую 1.6.0   -  person Gary    schedule 31.03.2015
comment
Сначала я подумал, что вы, возможно, нажмете ACCUMULO-1994, но, похоже, это не учитывая fixVersion.   -  person elserj    schedule 01.04.2015
comment
Можете ли вы привести примеры «watchId» и «END_SIGN» в случае сбоя? Я не знаю ни одной ошибки, которая могла бы привести к сбою. Я бы проверил байты каждой строки, которую вы предоставили в своем javascript.   -  person elserj    schedule 01.04.2015
comment
Спасибо @elserj за ваш ответ. Извините за запутанный пример, взгляните на обновленный вопрос. Спасибо!   -  person Gary    schedule 03.04.2015
comment
start =1 и end = 1\0 выглядят правильно и должны работать, как указано в API. Постараюсь разобраться более конкретно, может где-то есть тонкий баг.   -  person elserj    schedule 10.04.2015


Ответы (1)


для моего случая с использованием (char - 1, так как начальная строка решает мою проблему:

var startRowId = rowId.substring(0, rowId.length - 1) + String.fromCharCode(rowId.charCodeAt(rowId.length - 1) - 1);
proxyClient.deleteRows(getLogin(), TABLE_NAME, startRowId, rowId, callback);
person Gary    schedule 12.05.2015