[ https://issues.apache.org/jira/browse/CASSANDRA-18264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Miklosovic updated CASSANDRA-18264: ------------------------------------------ Summary: CustomClassLoader does not load jars rendering triggers from JARs broken (was: CustomClassLoader does not load jars rendering triggers feature broken) > CustomClassLoader does not load jars rendering triggers from JARs broken > ------------------------------------------------------------------------ > > Key: CASSANDRA-18264 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18264 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Core > Reporter: Stefan Miklosovic > Priority: Normal > > A user had to downgrade to 4.0.7 from 4.1.0 because they hit a problem with > CustomClassLoader for triggers. > User says that in Apache Cassandra 4.1.0 the trigger mechanism does not work, > not their trigger, but the possibility of loading any trigger in Cassandra. > In the Cassandra 4.1.0 version of CustomClassLoader > (https://github.com/apache/cassandra/blob/cassandra-4.1/src/java/org/apache/cassandra/triggers/CustomClassLoader.java) > the code is changed in such a way that when copying the JAR Cassandra uses > java.nio.file.Files, while earlier versions (cassandra 4.0.X or 3.X) used > Guava com.google.common.io.Files to copy the JAR file. > The difference between one and the other is that Guava by default overwrites > the file if it already exists and user has permissions to do so, and in Java > by default it does not overwrite. > Copying is done here (1) from inputJar to out. However, the problem is that > we are getting temporary file from here (2) and the implementation loops > unless it succeeds to create an empty file. (3) - But that fails to copy the > file to out because copying does not work when the target file already exists. > (1) > https://github.com/apache/cassandra/blob/cassandra-4.1/src/java/org/apache/cassandra/triggers/CustomClassLoader.java#L86 > (2) > https://github.com/apache/cassandra/blob/cassandra-4.1/src/java/org/apache/cassandra/triggers/CustomClassLoader.java#L81 > (3) > https://github.com/apache/cassandra/blob/cassandra-4.1/src/java/org/apache/cassandra/io/util/FileUtils.java#L152 -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org