{"action":"created","issue":{"url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6551","labels_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6551/labels{/name}","comments_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6551/comments","events_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6551/events","html_url":"https://github.com/bitcoin/bitcoin/pull/6551","id":100660639,"number":6551,"title":"Handle leveldb::DestroyDB() errors on wipe failure","user":{"login":"ajweiss","id":430315,"avatar_url":"https://avatars.githubusercontent.com/u/430315?v=3","gravatar_id":"","url":"https://api.github.com/users/ajweiss","html_url":"https://github.com/ajweiss","followers_url":"https://api.github.com/users/ajweiss/followers","following_url":"https://api.github.com/users/ajweiss/following{/other_user}","gists_url":"https://api.github.com/users/ajweiss/gists{/gist_id}","starred_url":"https://api.github.com/users/ajweiss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajweiss/subscriptions","organizations_url":"https://api.github.com/users/ajweiss/orgs","repos_url":"https://api.github.com/users/ajweiss/repos","events_url":"https://api.github.com/users/ajweiss/events{/privacy}","received_events_url":"https://api.github.com/users/ajweiss/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-12T23:53:28Z","updated_at":"2015-08-13T08:19:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/bitcoin/bitcoin/pulls/6551","html_url":"https://github.com/bitcoin/bitcoin/pull/6551","diff_url":"https://github.com/bitcoin/bitcoin/pull/6551.diff","patch_url":"https://github.com/bitcoin/bitcoin/pull/6551.patch"},"body":"Add error checking to CLevelDBWrapper for errors from\r\nleveldb::DestroyDB().  Without it, if unlink() or DeleteFileW() fail to\r\ndelete files, they will fail silent.  If they fail to delete any files,\r\nCLevelDBWrapper will silently open and read the existing database.\r\n\r\nTypically any permissions issues would be caught by leveldb as it churns\r\nthrough many files as part of its compaction process, but it is\r\nconceivable that this could cause problems on Windows with anti-virus\r\nand indexing software."},"comment":{"url":"https://api.github.com/repos/bitcoin/bitcoin/issues/comments/130572235","html_url":"https://github.com/bitcoin/bitcoin/pull/6551#issuecomment-130572235","issue_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6551","id":130572235,"user":{"login":"TheBlueMatt","id":649246,"avatar_url":"https://avatars.githubusercontent.com/u/649246?v=3","gravatar_id":"","url":"https://api.github.com/users/TheBlueMatt","html_url":"https://github.com/TheBlueMatt","followers_url":"https://api.github.com/users/TheBlueMatt/followers","following_url":"https://api.github.com/users/TheBlueMatt/following{/other_user}","gists_url":"https://api.github.com/users/TheBlueMatt/gists{/gist_id}","starred_url":"https://api.github.com/users/TheBlueMatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheBlueMatt/subscriptions","organizations_url":"https://api.github.com/users/TheBlueMatt/orgs","repos_url":"https://api.github.com/users/TheBlueMatt/repos","events_url":"https://api.github.com/users/TheBlueMatt/events{/privacy}","received_events_url":"https://api.github.com/users/TheBlueMatt/received_events","type":"User","site_admin":false},"created_at":"2015-08-13T08:19:41Z","updated_at":"2015-08-13T08:19:41Z","body":"Not to bikeshed this, but we should figure out if we want to use the throw() syntax in function declarations. We have it in bool CLevelDBWrapper::WriteBatch(CLevelDBBatch& batch, bool fSync) throw(leveldb_error), but not in CLevelDBWrapper::CLevelDBWrapper(const boost::filesystem::path& path, size_t nCacheSize, bool fMemory, bool fWipe), which is strange."}}