[ 
https://issues.apache.org/jira/browse/CASSANDRA-18877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Miklosovic updated CASSANDRA-18877:
------------------------------------------
    Description: 
I was digging in the project deps and if you compare all libs in "libs" dir and 
all libs in "build/lib/jars", there are indeed some diffrences which are OK 
however in build/lib/jars there are also libraries for byteman and byte-buddy. 
This is clearly wrong as these dependecies should not accessible from the 
production code, only from tests.

The reason they are accessible in prod code is that there is a class 
TestRateLimiter (1). I do not have a clue why that class is in the prod code in 
the first place. The only place it is referenced in is here (2) but that 
byteman script is not loaded anywhere in tests. I was also checking Python 
dtests.

I think this is some leftover or something like "I will keep it here when I 
need it", but as nobody seems to do, I strongly advocate for removing it and 
making bytebuddy and byteman only test scoped dependencies as it should be.

Second issue is that there is a dependency on compress-lzf in build 
dependencies. This is not necessary either as that library was removed from the 
repository in (3) but it still somehow leaked to the build process again. 

(1) 
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/utils/TestRateLimiter.java
(2) 
https://github.com/apache/cassandra/blob/trunk/test/resources/byteman/mutation_limiter.btm
(3) 
https://github.com/apache/cassandra/commit/fc92db2b9b56c143516026ba29cecdec37e286bb

> remove bytebuddy from production classpath and remove compress-lzf dependency 
> from build deps
> ---------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18877
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18877
>             Project: Cassandra
>          Issue Type: Task
>            Reporter: Stefan Miklosovic
>            Priority: Normal
>
> I was digging in the project deps and if you compare all libs in "libs" dir 
> and all libs in "build/lib/jars", there are indeed some diffrences which are 
> OK however in build/lib/jars there are also libraries for byteman and 
> byte-buddy. This is clearly wrong as these dependecies should not accessible 
> from the production code, only from tests.
> The reason they are accessible in prod code is that there is a class 
> TestRateLimiter (1). I do not have a clue why that class is in the prod code 
> in the first place. The only place it is referenced in is here (2) but that 
> byteman script is not loaded anywhere in tests. I was also checking Python 
> dtests.
> I think this is some leftover or something like "I will keep it here when I 
> need it", but as nobody seems to do, I strongly advocate for removing it and 
> making bytebuddy and byteman only test scoped dependencies as it should be.
> Second issue is that there is a dependency on compress-lzf in build 
> dependencies. This is not necessary either as that library was removed from 
> the repository in (3) but it still somehow leaked to the build process again. 
> (1) 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/utils/TestRateLimiter.java
> (2) 
> https://github.com/apache/cassandra/blob/trunk/test/resources/byteman/mutation_limiter.btm
> (3) 
> https://github.com/apache/cassandra/commit/fc92db2b9b56c143516026ba29cecdec37e286bb



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to