cassandra 尝试转储FQL日志返回NullPointerException

qojgxg4l  于 2023-04-06  发布在  Cassandra
关注(0)|答案(1)|浏览(168)

当我试图从fullquerylog读取数据时,遇到java空点异常。有人遇到过这个问题吗?

  • Cassandra版本-4.1
  • 主机-Linux
  • java -11

使用的命令- fqltool dump /home/fullquerylog

$ nodetool getfullquerylog
enabled             true                                
log_dir             /home/fullquerylog
archive_command                                         
roll_cycle          HOURLY                              
block               true                                
max_log_size        17179869184                         
max_queue_weight    268435456                           
max_archive_retries 10

我试过在指挥下运行

fqltool dump /home/fullquerylog

我期待fullquerylog目录的输出。

INFO  [main] 2023-03-28 17:07:38,441 InternalAnnouncer.java:46 - Process id: 7940
INFO  [main] 2023-03-28 17:07:38,443 InternalAnnouncer.java:59 - :: Chronicle Queue :: (5.20.123)
error: null
-- StackTrace --
java.lang.NullPointerException
    at net.openhft.chronicle.bytes.BytesStore.wrap(BytesStore.java:76)
    at net.openhft.chronicle.bytes.Bytes.wrapForRead(Bytes.java:179)
    at org.apache.cassandra.fqltool.commands.Dump.appendValuesToStringBuilder(Dump.java:222)
    at org.apache.cassandra.fqltool.commands.Dump.dumpQuery(Dump.java:179)
    at org.apache.cassandra.fqltool.commands.Dump.lambda$dump$0(Dump.java:123)
    at net.openhft.chronicle.queue.impl.single.StoreTailer.readDocument(StoreTailer.java:111)
    at org.apache.cassandra.fqltool.commands.Dump.dump(Dump.java:148)
    at org.apache.cassandra.fqltool.commands.Dump.run(Dump.java:68)
    at org.apache.cassandra.fqltool.FullQueryLogTool.main(FullQueryLogTool.java:65)
uubf1zoe

uubf1zoe1#

您发布的堆栈跟踪表明没有导致NullPointerException的日志可供转换。
您需要验证节点在启用Full Query Logging后 * 是否至少处理了一个查询。如果节点没有处理任何查询,则FQL工具与dump无关。
请注意,FQL日志记录是在每个节点的基础上启用的。只有在启用和配置了FQL日志记录的节点上才会生成查询日志。
您还需要确认Cassandra进程对FQL目录有读/写/执行权限。如果Cassandra不能写入该目录,将无法生成查询日志。干杯!

相关问题