Кассандра Гектор: Как проверить успех/неудачу обновления строки (обработка ошибок)

Я использую Hector для взаимодействия с базой данных cassandra из java-приложения. (Гектор 1.0-1)

В этом примере показано, как вставить (или обновить) поле.

mutator.addInsertion("650222", "Npanxx", HFactory.createStringColumn("state", "CA"));                

MutationResult mr = mutator.execute();

Однако информации о результатах операции не так много. Как мы можем проверить, была ли операция успешной или нет? Возвращаемое значение представляет собой реализацию ResultStatus, и можно вызвать 3 метода:

mr.getHostUsed()
mr.getExecutionTimeNano()
mr.getExecutionTimeMicro()

Могу ли я предположить, что если не было исключений, вызывающих метод execute(), операция прошла успешно?


person John Volkya    schedule 05.12.2011    source источник


Ответы (1)


Похоже, что метод execute не объявляет никаких исключений, потому что он будет генерировать экземпляры HectorException, которые являются RuntimeException.

Так что да, если исключения не выбрасываются, вставка прошла успешно. В противном случае вы получите экземпляр HectorException (вероятно, HTimedOutException/HUnavailableException для проблем на стороне Cassandra и что-то еще для чего-то на стороне Hector).

person nickmbailey    schedule 05.12.2011