[ 
https://issues.apache.org/jira/browse/CASSANDRA-18264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17690033#comment-17690033
 ] 

Stefan Miklosovic commented on CASSANDRA-18264:
-----------------------------------------------

trunk build is being run here 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2284/
4.1 is being build here 
https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2285

4.1 patch https://github.com/apache/cassandra/pull/2159
trunk patch https://github.com/apache/cassandra/pull/2165

I managed to fix 4.1 k8s test by deleting the file by different way. This 
version of method call is not forbidden in checkstyle.

For k8s and trunk, that test is broken in a different way. There were some 
changes in trunk in SSL factory area recently and the refactored stuff there 
left the test broken and un-compilable. I tried my best to fix it all but one 
test I am not able to fix. I will ask other developers to fix that.

So, we are fully covered for 4.1 (triggers and k8s) and for trunk there is only 
triggers demo fixed. As the next release in trunk is happening in couple 
months, I rely on developers responsible for the latest changes in SSL factory 
area to take a look into that. I will dedicate a separate ticket for that.

> 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
>            Assignee: Stefan Miklosovic
>            Priority: Normal
>             Fix For: 4.1.x, 4.x
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> 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

Reply via email to