[ 
https://issues.apache.org/jira/browse/SOLR-924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12657702#action_12657702
 ] 

Hoss Man commented on SOLR-924:
-------------------------------

What Kay is suggesting is a pretty well established "best practice" .. even if 
you *know* the super class has an empty finalize method it's still a good idea 
to call super.finalize() in a finally block because you have no garuntee 
someone else won't modify the implementation of the super class in a future 
version.  even when you subclass Object, super.finalize() is a good idea to 
protect yourself against yourself: future refactoring could inject a new super 
class (which could then gain a non-trivial finalize method)

i really see no downside to the patch

> Solr: Making finalizers call super.finalize() wrapped in try..finally block 
> ----------------------------------------------------------------------------
>
>                 Key: SOLR-924
>                 URL: https://issues.apache.org/jira/browse/SOLR-924
>             Project: Solr
>          Issue Type: Improvement
>          Components: contrib - DataImportHandler, replication (java)
>         Environment: Tomcat 6, JRE 6
>            Reporter: Kay Kay
>            Priority: Minor
>             Fix For: 1.4
>
>         Attachments: SOLR-924.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> There are some occurences of finalizers in the code base. While the presence 
> of them is debatable and discussed in a separate JIRA - the ones that are 
> retained are better off wrapped around a try .. finally block to recursively 
> call the finalizer of the super class for proper resource usage unwinding , 
> (in case finalizers get invoked ). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to