You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Shook (Jira)" <ji...@apache.org> on 2020/07/22 16:35:00 UTC

[jira] [Created] (CASSANDRA-15971) full query log needs improvement

Jonathan Shook created CASSANDRA-15971:
------------------------------------------

             Summary: full query log needs improvement
                 Key: CASSANDRA-15971
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15971
             Project: Cassandra
          Issue Type: Improvement
          Components: Tool/fql
            Reporter: Jonathan Shook
         Attachments: st1.txt

When trying out full query logging as a possible integration for nosqlbench usage, I ran across many issues which would make it painful for users. Since there were several, they will be added to a single issue for now. This issue can be broken up if needed.
----
FQL doesn't work on my system, even though it says it is logging queries. 

With the following configuration in cassandra.yaml:

 
{noformat}
full_query_logging_options:
    log_dir: /REDACTED/fullquerylogs
    roll_cycle: HOURLY
    block: true
    max_queue_weight: 268435456 # 256 MiB
    max_log_size: 17179869184 # 16 GiB
    ## archive command is "/path/to/script.sh %path" where %path is replaced with the file being rolled:
    # archive_command:
    # max_archive_retries: 10
{noformat}
which appears to be the minimal configuration needed to enable fql, only a single file `directory-listing.cq4t` is created, which is a 64K sized file of zeroes.

 
----
Calling bin/nodetool enablefullquerylog throws an error initially.

[jshook@cass4 bin]$ ./nodetool enablefullquerylog 

 
{noformat}
error: sun.nio.ch.FileChannelImpl.map0(int,long,long) 
-- StackTrace -- 
java.lang.NoSuchMethodException: sun.nio.ch.FileChannelImpl.map0(int,long,long) 
        at java.base/java.lang.Class.getDeclaredMethod(Class.java:2553) 
        at net.openhft.chronicle.core.OS.lambda$static$0(OS.java:51) 
        at net.openhft.chronicle.core.ClassLocal.computeValue(ClassLocal.java:53){noformat}

 (full stack trace attached to this ticket)

 

Subsequent calls produce normal output:

 
{noformat}
[jshook@cass4 c4b1]$ bin/nodetool enablefullquerylog 
nodetool: Already logging to /home/jshook/c4b1/data/fullquerylogs 
See 'nodetool help' or 'nodetool help <command>'.{noformat}
 
----
nodetool missing getfullquerylogging makes it difficult to verify current fullquerylog state without changing it. The conventions for nodetool commands should be followed to avoid confusing users.
----
(maybe)
{noformat}
tools/bin/fqltool help{noformat}
should print out help for all fqltool commands rather than simply repeating the default The most commonly used fqltool commands are..
----
1. [https://cassandra.apache.org/doc/latest/new/fqllogging.html] is malformatted, mixing the appearance of configuration with comments, which is confusing at best.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org