Skip to content
Snippets Groups Projects
  • Josh Rosen's avatar
    07a86205
    [SPARK-7288] Suppress compiler warnings due to use of sun.misc.Unsafe; add... · 07a86205
    Josh Rosen authored
    [SPARK-7288] Suppress compiler warnings due to use of sun.misc.Unsafe; add facade in front of Unsafe; remove use of Unsafe.setMemory
    
    This patch suppresses compiler warnings due to our use of `sun.misc.Unsafe` (introduced in #5725).  These warnings can only be suppressed via the `-XDignore.symbol.file` javac flag; the `SuppressWarnings` annotation won't work for these.
    
    In order to restrict uses of this compiler flag to the `unsafe` module, I placed a facade in front of `Unsafe` so that other modules won't call it directly. This facade also will also help us to avoid accidental usage of deprecated Unsafe methods or methods that aren't supported in Java 6.
    
    I also removed an unnecessary use of `Unsafe.setMemory`, which isn't present in certain versions of Java 6, and excluded the new `unsafe` module from Javadoc.
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #5814 from JoshRosen/unsafe-compiler-warnings-fixes and squashes the following commits:
    
    9e8c483 [Josh Rosen] Exclude new unsafe module from Javadoc
    ba75ecf [Josh Rosen] Only apply -XDignore.symbol.file flag in unsafe project.
    7403345 [Josh Rosen] Put facade in front of Unsafe.
    50230c0 [Josh Rosen] Remove usage of Unsafe.setMemory
    96d41c9 [Josh Rosen] Use -XDignore.symbol.file to suppress warnings about sun.misc.Unsafe usage
    07a86205
    History
    [SPARK-7288] Suppress compiler warnings due to use of sun.misc.Unsafe; add...
    Josh Rosen authored
    [SPARK-7288] Suppress compiler warnings due to use of sun.misc.Unsafe; add facade in front of Unsafe; remove use of Unsafe.setMemory
    
    This patch suppresses compiler warnings due to our use of `sun.misc.Unsafe` (introduced in #5725).  These warnings can only be suppressed via the `-XDignore.symbol.file` javac flag; the `SuppressWarnings` annotation won't work for these.
    
    In order to restrict uses of this compiler flag to the `unsafe` module, I placed a facade in front of `Unsafe` so that other modules won't call it directly. This facade also will also help us to avoid accidental usage of deprecated Unsafe methods or methods that aren't supported in Java 6.
    
    I also removed an unnecessary use of `Unsafe.setMemory`, which isn't present in certain versions of Java 6, and excluded the new `unsafe` module from Javadoc.
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #5814 from JoshRosen/unsafe-compiler-warnings-fixes and squashes the following commits:
    
    9e8c483 [Josh Rosen] Exclude new unsafe module from Javadoc
    ba75ecf [Josh Rosen] Only apply -XDignore.symbol.file flag in unsafe project.
    7403345 [Josh Rosen] Put facade in front of Unsafe.
    50230c0 [Josh Rosen] Remove usage of Unsafe.setMemory
    96d41c9 [Josh Rosen] Use -XDignore.symbol.file to suppress warnings about sun.misc.Unsafe usage