Pelop deleteSubColumns => NullPointerException - PullRequest
1 голос
/ 31 октября 2011

Это код:

Selector selector = Pelops.createSelector(CASSANDRA_POOL);
Column column = selector.getSubColumnFromRow("Neighbours", user, neighbour, "Link_ID", CL_ONE);
String linkID = new String(column.getValue());
Mutator mutator = Pelops.createMutator(CASSANDRA_POOL);
System.out.println(linkID);
System.out.println(topic);
mutator.deleteSubColumns("Links",linkID,topic);
mutator.execute(CL_ONE);

и вот результат:

ERROR - Exception being returned to browser when processing /ajax_request/F314921638127GLWWRG/: Message: java.lang.NullPointerException
  org.scale7.cassandra.pelops.Validation.validateColumnNames(Validation.java:60)
  org.scale7.cassandra.pelops.Mutator.deleteSubColumns(Mutator.java:724)
  org.scale7.cassandra.pelops.Mutator.deleteSubColumns(Mutator.java:698)

Но я не могу понять, почему это дает мне исключение, linkID и тема String имеют правильные значения.

PS: версия cassandra - 1.0.0, а версия pelops - 1.3-1.0.x-20111021.060203-2

Может ли кто-нибудь мне помочь?

1 Ответ

2 голосов
/ 02 ноября 2011

Кажется, я не могу воспроизвести вашу проблему на основе предоставленной информации, однако я мог бы повторить, передав ноль в качестве имени столбца (тема в вашем примере).

Я добавил тест в MutatorIntegrationTest, чтобы убедиться, что тест Mutator.deleteSubColumns работает должным образом, и я также внес небольшое изменение в класс Validator, чтобы избежать исключения NullPointerException, и вместо этого бросил org.scale7.cassandra.pelops. exceptions.ModelException.

См. MutatorIntegrationtest.testDeleteSubColumns () и MutatorIntegrationtest. testDeleteSubColumnsWithNullColumnNameThrowsCorrectException ()

Итак, вкратце; убедитесь, что ваша переменная 'topic' не пуста, и обновите SNAPSHOT до последней версии Pelops (для лучшего сообщения об ошибке).

...