[
https://issues.apache.org/jira/browse/CASSANDRA-21614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Semb Wever updated CASSANDRA-21614:
-------------------------------------------
Fix Version/s: 6.0.x
7.x
> Hold the file move options in constants
> ---------------------------------------
>
> Key: CASSANDRA-21614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21614
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Local/Other
> Reporter: Michael Semb Wever
> Assignee: Michael Semb Wever
> Priority: Normal
> Fix For: 6.0.x, 7.x
>
>
> {{PathUtils.atomicMoveWithFallback}} passes its copy options as varargs:
> {code:java}
> Files.move(from, to, StandardCopyOption.REPLACE_EXISTING,
> StandardCopyOption.ATOMIC_MOVE);
> {code}
> Every call allocates a {{CopyOption}} array, and the
> {{AtomicMoveNotSupportedException}} fallback allocates a second one. Renames
> run once per sstable component. Profiling on a file cache preload in the
> DataStax fork showed the method as an allocation hotspot.
> The patch holds the two option arrays in static constants, as {{PathUtils}}
> already does for its open options and for {{NO_ATTRIBUTES}}.
> Patch:
> [mck/upstream/pathutils-copyoptions/trunk|https://github.com/thelastpickle/cassandra/tree/mck/upstream/pathutils-copyoptions/trunk]
> Provenance:
> [82818025f3|https://github.com/datastax/cassandra/commit/82818025f34eb2cfb053e5dd14d8c3bbfc465526]
> by Kamil Leśniak
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]