Pelop deleteSubColumns => NullPointerException

Это код:

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 ответ

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

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

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

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

Другие вопросы по тегам