[jira] [Updated] (DERBY-6932) Migrate finalization to the new Cleaner-based pattern introduced by JDK 9 build 167

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (DERBY-6932) Migrate finalization to the new Cleaner-based pattern introduced by JDK 9 build 167

JIRA jira@apache.org

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

Rick Hillegas updated DERBY-6932:
---------------------------------
    Attachment: derby-6932-01-aa-suppressDeprecationWarnings.diff

Attaching derby-6932-01-aa-suppressDeprecationWarnings.diff. This patch is a temporary fix. It merely suppresses the deprecation warnings so that Derby will build cleanly under JDK 9. A comment linking back to this issue accompanies the suppression annotations.

Touches the following files:

M       java/client/org/apache/derby/client/ClientPooledConnection.java
M       java/client/org/apache/derby/client/am/ClientConnection.java
M       java/client/org/apache/derby/client/am/ClientStatement.java
M       java/client/org/apache/derby/client/am/LogicalConnection.java
M       java/drda/org/apache/derby/impl/drda/EXTDTAInputStream.java
M       java/drda/org/apache/derby/impl/drda/ReEncodedInputStream.java
M       java/engine/org/apache/derby/impl/jdbc/EmbedBlob.java
M       java/engine/ox2rg/apache/derby/impl/jdbc/EmbedConnection.java
M       java/engine/org/apache/derby/impl/jdbc/EmbedStatement.java
M       java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java
M       java/optional/org/apache/derby/optional/lucene/LuceneQueryVTI.java


> Migrate finalization to the new Cleaner-based pattern introduced by JDK 9 build 167
> -----------------------------------------------------------------------------------
>
>                 Key: DERBY-6932
>                 URL: https://issues.apache.org/jira/browse/DERBY-6932
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Network Client, Network Server
>    Affects Versions: 10.14.0.0
>            Reporter: Rick Hillegas
>         Attachments: ClientConnection.patch, derby-6932-01-aa-suppressDeprecationWarnings.diff
>
>
> As of build 167, JDK 9 deprecated the finalize() method. This produces deprecation warnings when compiling several Derby classes. See https://issues.apache.org/jira/browse/DERBY-6856?focusedCommentId=15990011&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15990011 . The recommended fix is a non-trivial mini-project, viz., to migrate to a new finalization pattern based on a newly added Java 9 class, java.lang.ref.Cleaner. Peter Levart kindly mocked up the fix for one affected Derby class (ClientConnection). See http://cr.openjdk.java.net/~plevart/misc/Cleaner/derby/ClientConnection_finalize2cleaner.patch
> Further discussion can be found on the following open-jdk email thread: http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-May/047417.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)