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

Ekaterina Dimitrova updated CASSANDRA-18239:
--------------------------------------------
    Description: 
Eclipse warnings is used for static code analysis. However, it does not fit 
well into Cassandra code and practically we end up explicitly adding 
suppressions in many places just to satisfy that tool rather than fix the real 
issues.

This is an incomplete list of reasons to remove it:
 - not closed resources are detected incorrectly
 - does not recognize custom utility methods used to close the resources, which 
use use heavily in the code, like {{{}Throwables.close{}}}, 
{{{}FileUtils.close{}}}, {{{}closeQuietly{}}}...
 - because of the above, we cannot make important things like {{Ref}} to 
implement {{Closeable}} as it would make the tool to explode with tons of 
warnings
 - it complains about correct generics - something like "method X is not 
applicable for ..." when the code compiles successfully is not acceptable
 - it is old and not maintained

There are better tools like IntelliJ inspections for example, which can also be 
run in headless mode

As agreed on the [dev mailing 
list|https://lists.apache.org/thread/8ok01odwx79crxw45cnfh0n1j4nsf9cp] we will 
replace it in trunk with CheckerFramework.

  was:
Eclipse warnings is used for static code analysis. However, it does not fit 
well into Cassandra code and practically we end up explicitly adding 
suppressions in many places just to satisfy that tool rather than fix the real 
issues.

This is an incomplete list of reasons to remove it:
- not closed resources are detected incorrectly
- does not recognize custom utility methods used to close the resources, which 
use use heavily in the code, like {{Throwables.close}}, {{FileUtils.close}}, 
{{closeQuietly}}...
- because of the above, we cannot make important things like {{Ref}} to 
implement {{Closeable}} as it would make the tool to explode with tons of 
warnings
- it complains about correct generics - something like "method X is not 
applicable for ..." when the code compiles successfully is not acceptable
- it is old and not maintained

There are better tools like IntelliJ inspections for example, which can also be 
run in headless mode



> Replace eclipse warnings based static code analysis with something better 
> (Sonar)
> ---------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18239
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18239
>             Project: Cassandra
>          Issue Type: Task
>          Components: Build
>            Reporter: Jacek Lewandowski
>            Priority: Normal
>             Fix For: 5.x
>
>
> Eclipse warnings is used for static code analysis. However, it does not fit 
> well into Cassandra code and practically we end up explicitly adding 
> suppressions in many places just to satisfy that tool rather than fix the 
> real issues.
> This is an incomplete list of reasons to remove it:
>  - not closed resources are detected incorrectly
>  - does not recognize custom utility methods used to close the resources, 
> which use use heavily in the code, like {{{}Throwables.close{}}}, 
> {{{}FileUtils.close{}}}, {{{}closeQuietly{}}}...
>  - because of the above, we cannot make important things like {{Ref}} to 
> implement {{Closeable}} as it would make the tool to explode with tons of 
> warnings
>  - it complains about correct generics - something like "method X is not 
> applicable for ..." when the code compiles successfully is not acceptable
>  - it is old and not maintained
> There are better tools like IntelliJ inspections for example, which can also 
> be run in headless mode
> As agreed on the [dev mailing 
> list|https://lists.apache.org/thread/8ok01odwx79crxw45cnfh0n1j4nsf9cp] we 
> will replace it in trunk with CheckerFramework.



--
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