[
https://issues.apache.org/jira/browse/CASSANDRA-19779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17869894#comment-17869894
]
Stefan Miklosovic commented on CASSANDRA-19779:
-----------------------------------------------
[~blambov] It doesnt fail, directIOSupported variable stays to be false. It
throws only in case commitlog dir is null (which is understandable) or when we
can not create a commit log directory if it does not exist (understandable
too). In case we can not get block size, it will be caught and just warn logged
and it will behave as it was before.
> direct IO support is always evaluated to false upon the very first start of a
> node
> ----------------------------------------------------------------------------------
>
> Key: CASSANDRA-19779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19779
> Project: Cassandra
> Issue Type: Bug
> Components: Legacy/Tools
> Reporter: Stefan Miklosovic
> Assignee: Stefan Miklosovic
> Priority: Normal
> Fix For: 5.0-rc
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> When I extract the distribution tarball and I want to use tools in tools/bin,
> there is this warn log visible every time for tools when they are started
> (does not happen on "help" command, obviously)
> {code:java}
> WARN 14:25:11,835 Unable to determine block size for commit log directory:
> null {code}
> This is because we introduced this (1) in CASSANDRA-18464
> What that does is that it will go and try to create a temporary file in
> commit log directory to get "block size" for a "file store" that file is in.
> The problem with that is that when we just extract a tarball and run the
> tools - Cassandra was never started - then such commit log directory does not
> exist yet, so it tries to create a temporary file in a non-existing
> directory, which fails, hence the log message.
> The fix is to check if commitlog dir exists and return / skip the resolution
> of block size if it does not.
> Another approach might be to check if this is executed in the context of a
> tool and skip it from resolution altogether. The problem with this is that
> not all tools we have in bin/log call DatabaseDescriptor.
> toolInitialization() so we might combine these two.
> (1)
> [https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1455-L1462]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]