You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Timothy Potter (JIRA)" <ji...@apache.org> on 2017/01/10 23:47:58 UTC

[jira] [Comment Edited] (SOLR-9954) SnapShooter createSnapshot can swallow an exception raised by the underlying backup repo

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

Timothy Potter edited comment on SOLR-9954 at 1/10/17 11:47 PM:
----------------------------------------------------------------

Here's a patch (against 6.2.1 tag) that logs the delete as a warning and allows the actual exception to propagate out of this method correctly. I'll work a PR through to 6x from master...


was (Author: thelabdude):
Here's a patch that logs the delete as a warning and allows the actual exception to propagate out of this method correctly.

> SnapShooter createSnapshot can swallow an exception raised by the underlying backup repo
> ----------------------------------------------------------------------------------------
>
>                 Key: SOLR-9954
>                 URL: https://issues.apache.org/jira/browse/SOLR-9954
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Hadoop Integration
>    Affects Versions: 6.2.1, 6.3
>            Reporter: Timothy Potter
>            Assignee: Timothy Potter
>         Attachments: SOLR-9954.patch
>
>
> While configuring the HdfsBackupRepository to use Google compute storage, I misconfigured the permissions on my bucket. Unfortunately, the exception that would have pointed me in the right direction gets squelched by the finally block in createSnapshot:
> {code}
>     } finally {
>       if (!success) {
>         backupRepo.deleteDirectory(snapshotDirPath);
>       }
>     }
> {code}
> If there's a permissions issue, then the deleteDelectory is going to fail and raise another exception from the finally block, which swallows the original exception. For example:
> {code}
> ERROR - 2017-01-10 18:38:52.650; [c:gettingstarted s:shard1 r:core_node1 x:gettingstarted_shard1_replica1] org.apache.solr.handler.SnapShooter; Exception while creating snapshot
> java.io.IOException: GoogleHadoopFileSystem has been closed or not initialized.
>     at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.checkOpen(GoogleHadoopFileSystemBase.java:1927)
>     at com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase.delete(GoogleHadoopFileSystemBase.java:1255)
>     at org.apache.solr.core.backup.repository.HdfsBackupRepository.deleteDirectory(HdfsBackupRepository.java:160)
>     at org.apache.solr.handler.SnapShooter.createSnapshot(SnapShooter.java:234)
>     at org.apache.solr.handler.SnapShooter.lambda$createSnapAsync$1(SnapShooter.java:186)
>     at org.apache.solr.handler.SnapShooter$$Lambda$89/43739789.run(Unknown Source)
>     at java.lang.Thread.run(Thread.java:745)
> {code}
> That's merely the symptom and not the actual cause of the failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org