1
1
mirror of https://github.com/aelve/guide.git synced 2024-12-01 20:54:08 +03:00

Fix acid-state loading (#386)

* Die when the state could not be loaded

* Fix database loading

* Don't throw exitSuccess
This commit is contained in:
Artyom Kazak 2019-08-21 06:41:57 +03:00 committed by mergify[bot]
parent 0c50de646b
commit 0e86f61494
3 changed files with 14 additions and 9 deletions

View File

@ -31,10 +31,10 @@ import Guide.Logger.Functions
--
-- /Exception handling:/
--
-- Uncaught exceptions are caught and logged. Since Servant exceptions don't
-- escape Servant, they are logged where they are thrown (see @instance
-- MonadError Guider@). Uncaught Servant exceptions are caught and logged in
-- Warp.
-- Uncaught exceptions are caught, logged, and rethrown. Since Servant
-- exceptions don't escape Servant, they are logged where they are thrown
-- (see @instance MonadError Guider@). Uncaught Servant exceptions are
-- caught and logged in Warp.
withLogger :: Config -> (Logger -> IO ()) -> IO ()
withLogger Config{..} act = do
logLvlEnv <- lookupEnv "LOG_LEVEL"
@ -46,8 +46,9 @@ withLogger Config{..} act = do
when logToStderr $ sayErr formattedLogLine
whenJust logFileHandle $ \h -> hSay h formattedLogLine
Di.Core.new logHandler $ \logger ->
act logger `catch` \(e :: SomeException) ->
act logger `catch` \(e :: SomeException) -> do
logErrorIO logger ("uncaught exception: "+||e||+"")
throwIO e
-- | Pretty-print a log line.
showLogLine

View File

@ -149,7 +149,6 @@ dryRun config = withLogger config $ \logger -> do
db :: DB <- openLocalStateFrom "state/" (error "couldn't load state")
logDebugIO logger "loaded the database successfully"
closeAcidState db
exitSuccess
-- | Load 'PublicDB' from given file, create acid-state database from it,
-- and exit.
@ -162,7 +161,6 @@ loadPublic config path = withLogger config $ \logger ->
Acid.update db (ImportPublicDB publicDB)
createCheckpointAndClose' db
logDebugIO logger "PublicDB imported to GlobalState"
exitSuccess
-- | Dump API docs to the output.
apiDocs :: Config -> IO ()

View File

@ -283,10 +283,16 @@ data Category = Category {
}
deriving (Show, Generic, Data)
deriveSafeCopySorted 12 'extension ''Category
deriveSafeCopySorted 13 'extension ''Category
makeClassWithLenses ''Category
changelog ''Category (Current 12, Past 11)
changelog ''Category (Current 13, Past 12)
[Removed "categoryGroup_" [t|Text|]
,Added "categoryGroup" [hs|
categoryGroup_ |] ]
deriveSafeCopySorted 12 'extension ''Category_v12
changelog ''Category (Past 12, Past 11)
[Removed "categoryGroups" [t|Map Text Hue|] ]
deriveSafeCopySorted 11 'extension ''Category_v11