Pelop deleteSubColumns =>空指针异常

时间:2011-10-31 10:08:54

标签: cassandra pelops

这段代码:

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 个答案:

答案 0 :(得分:2)

我似乎无法根据提供的信息复制您的问题,但是我可以通过传递null作为列名称(示例中的主题)进行复制。

我已经在MutatorIntegrationTest中添加了一个测试来验证测试Mutator.deleteSubColumns是否按预期工作,我还对Validator类进行了一些小改动,以避免NullPointerException,而是抛出一个org.scale7.cassandra.pelops。 exceptions.ModelException。

请参阅MutatorIntegrationtest.testDeleteSubColumns()MutatorIntegrationtest. testDeleteSubColumnsWithNullColumnNameThrowsCorrectException()

总之;确保你的'topic'变量不为null并升级到最新的Pelops SNAPSHOT(以获得更好的错误消息)。