[
https://issues.apache.org/jira/browse/CASSANDRA-19779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Miklosovic updated CASSANDRA-19779:
------------------------------------------
Description:
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]
was:
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.
(1)
https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1455-L1462
> Non-existing commitlog dir emits warnings in tools/bin
> -------------------------------------------------------
>
> 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.x
>
>
> 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]