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

Andras Salamon commented on SOLR-14485:
---------------------------------------

I also prefer try-with-resources, on the other hand I don't like creating big 
new try-with-resources blocks, when one single close() can solve the problem.

It's definitely a bit personal preference.  In this jira, I'd say in 
SimScenario it's easier to just add snapshotCloudManager.close, on the other 
hand it would be better to use try-with-resource in RecoveryStrategy and 
SyncStrategy.

I'll upload a new patch soon.

> Fix or suppress 11 resource leak warnings in apache/solr/cloud
> --------------------------------------------------------------
>
>                 Key: SOLR-14485
>                 URL: https://issues.apache.org/jira/browse/SOLR-14485
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Andras Salamon
>            Assignee: Erick Erickson
>            Priority: Minor
>         Attachments: SOLR-14485-01.patch
>
>
> There are 11 warnings in apache/solr/cloud:
> {noformat}
>  [ecj-lint] 2. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
>  (at line 644)
>  [ecj-lint]   PeerSyncWithLeader peerSyncWithLeader = new 
> PeerSyncWithLeader(core,
>  [ecj-lint]                      ^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'peerSyncWithLeader' is never closed
> --
>  [ecj-lint] 3. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/SyncStrategy.java
>  (at line 182)
>  [ecj-lint]   PeerSync peerSync = new PeerSync(core, syncWith, 
> core.getUpdateHandler().getUpdateLog().getNumRecordsToKeep(), true, 
> peerSyncOnlyWithActive, false);
>  [ecj-lint]            ^^^^^^^^
>  [ecj-lint] Resource leak: 'peerSync' is never closed
> --
>  [ecj-lint] 4. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
>  (at line 793)
>  [ecj-lint]   throw new UnsupportedOperationException("must add at least 1 
> node first");
>  [ecj-lint]   
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'queryRequest' is not closed at this location
> --
>  [ecj-lint] 5. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
>  (at line 799)
>  [ecj-lint]   throw new UnsupportedOperationException("must add at least 1 
> node first");
>  [ecj-lint]   
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'queryRequest' is not closed at this location
> --
>  [ecj-lint] 6. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
>  (at line 408)
>  [ecj-lint]   SnapshotCloudManager snapshotCloudManager = new 
> SnapshotCloudManager(scenario.cluster, null);
>  [ecj-lint]                        ^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'snapshotCloudManager' is never closed
> --
>  [ecj-lint] 7. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
>  (at line 743)
>  [ecj-lint]   throw new IOException("currently only one listener can be set 
> per trigger. Trigger name: " + trigger);
>  [ecj-lint]   
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'listener' is not closed at this location
> --
>  [ecj-lint] 8. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
>  (at line 952)
>  [ecj-lint]   SnapshotCloudManager snapshotCloudManager = new 
> SnapshotCloudManager(scenario.cluster, null);
>  [ecj-lint]                        ^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'snapshotCloudManager' is never closed
> --
>  [ecj-lint] 9. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
>  (at line 991)
>  [ecj-lint]   SimScenario scenario = new SimScenario();
>  [ecj-lint]               ^^^^^^^^
>  [ecj-lint] Resource leak: 'scenario' is never closed
> --
>  [ecj-lint] 1. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
>  (at line 264)
>  [ecj-lint]   Overseer overseer = new Overseer((HttpShardHandler) new 
> HttpShardHandlerFactory().getShardHandler(), updateShardHandler, 
> "/admin/cores",
>  [ecj-lint]                                                       
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: '<unassigned Closeable value>' is never closed
> --
>  [ecj-lint] 2. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/test/org/apache/solr/cloud/ZkNodePropsTest.java
>  (at line 48)
>  [ecj-lint]   new JavaBinCodec().marshal(zkProps.getProperties(), baos);
>  [ecj-lint]   ^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: '<unassigned Closeable value>' is never closed
> --
>  [ecj-lint] 3. WARNING in 
> /Users/andrassalamon/src/lucene-solr-upstream/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
>  (at line 124)
>  [ecj-lint]   SnapshotCloudManager snapshotCloudManager = new 
> SnapshotCloudManager(realManager, null);
>  [ecj-lint]                        ^^^^^^^^^^^^^^^^^^^^
>  [ecj-lint] Resource leak: 'snapshotCloudManager' is never closed
>  {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to