From 92d4078664ada862dd4ea4389aa136dd1d59ad46 Mon Sep 17 00:00:00 2001 From: Anon Ray Date: Wed, 27 Nov 2019 16:11:13 +0530 Subject: [PATCH] fix various functions to not create their own logger --- server/src-lib/Hasura/App.hs | 8 ++++---- server/src-lib/Hasura/Events/Lib.hs | 9 ++++----- server/src-lib/Hasura/Server/App.hs | 5 ++--- server/src-lib/Hasura/Server/Auth.hs | 11 +++++------ 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/server/src-lib/Hasura/App.hs b/server/src-lib/Hasura/App.hs index e5918d59efdc3..dc7515e49c36c 100644 --- a/server/src-lib/Hasura/App.hs +++ b/server/src-lib/Hasura/App.hs @@ -165,7 +165,7 @@ initialiseCtx hgeCmd rci = do eDbId <- liftIO $ runExceptT $ Q.runTx pool (Q.Serializable, Nothing) getDbId dbId <- either printErrJExit return eDbId - return $ (InitCtx httpManager instanceId dbId loggers connInfo pool, initTime) + return (InitCtx httpManager instanceId dbId loggers connInfo pool, initTime) where procConnInfo = either (printErrExit . connInfoErrModifier) return $ mkConnInfo rci @@ -205,12 +205,12 @@ runHGEServer ServeOptions{..} InitCtx{..} initTime = do Loggers loggerCtx logger _ = _icLoggers authModeRes <- runExceptT $ mkAuthMode soAdminSecret soAuthHook soJwtSecret soUnAuthRole - _icHttpManager loggerCtx + _icHttpManager logger authMode <- either (printErrExit . T.unpack) return authModeRes HasuraApp app cacheRef cacheInitTime shutdownApp <- mkWaiApp soTxIso - loggerCtx + logger sqlGenCtx soEnableAllowlist _icPgPool @@ -249,7 +249,7 @@ runHGEServer ServeOptions{..} InitCtx{..} initTime = do eventEngineCtx <- liftIO $ atomically $ initEventEngineCtx maxEvThrds evFetchMilliSec let scRef = _scrCache cacheRef unLogger logger $ mkGenericStrLog LevelInfo "event_triggers" "starting workers" - void $ liftIO $ C.forkIO $ processEventQueue loggerCtx logEnvHeaders + void $ liftIO $ C.forkIO $ processEventQueue logger logEnvHeaders _icHttpManager _icPgPool scRef eventEngineCtx -- start a background thread to check for updates diff --git a/server/src-lib/Hasura/Events/Lib.hs b/server/src-lib/Hasura/Events/Lib.hs index 1bfb2f0211410..632cbcc0be667 100644 --- a/server/src-lib/Hasura/Events/Lib.hs +++ b/server/src-lib/Hasura/Events/Lib.hs @@ -171,16 +171,15 @@ initEventEngineCtx maxT fetchI = do return $ EventEngineCtx q c maxT fetchI processEventQueue - :: L.LoggerCtx L.Hasura -> LogEnvHeaders -> HTTP.Manager-> Q.PGPool + :: L.Logger L.Hasura -> LogEnvHeaders -> HTTP.Manager-> Q.PGPool -> IORef (SchemaCache, SchemaCacheVer) -> EventEngineCtx -> IO () -processEventQueue logctx logenv httpMgr pool cacheRef eectx = do +processEventQueue logger logenv httpMgr pool cacheRef eectx = do threads <- mapM async [fetchThread, consumeThread] void $ waitAny threads where - fetchThread = pushEvents (L.mkLogger logctx) pool eectx - consumeThread = consumeEvents (L.mkLogger logctx) - logenv httpMgr pool (CacheRef cacheRef) eectx + fetchThread = pushEvents logger pool eectx + consumeThread = consumeEvents logger logenv httpMgr pool (CacheRef cacheRef) eectx pushEvents :: L.Logger L.Hasura -> Q.PGPool -> EventEngineCtx -> IO () diff --git a/server/src-lib/Hasura/Server/App.hs b/server/src-lib/Hasura/Server/App.hs index 4e83c1ad6d21f..8d9c17c4ce5fe 100644 --- a/server/src-lib/Hasura/Server/App.hs +++ b/server/src-lib/Hasura/Server/App.hs @@ -431,7 +431,7 @@ mkWaiApp , MetadataApiAuthorization m ) => Q.TxIsolation - -> L.LoggerCtx L.Hasura + -> L.Logger L.Hasura -> SQLGenCtx -> Bool -> Q.PGPool @@ -447,7 +447,7 @@ mkWaiApp -> EL.LiveQueriesOptions -> E.PlanCacheOptions -> m HasuraApp -mkWaiApp isoLevel loggerCtx sqlGenCtx enableAL pool ci httpManager mode corsCfg enableConsole consoleAssetsDir +mkWaiApp isoLevel logger sqlGenCtx enableAL pool ci httpManager mode corsCfg enableConsole consoleAssetsDir enableTelemetry instanceId apis lqOpts planCacheOptions = do let pgExecCtx = PGExecCtx pool isoLevel @@ -466,7 +466,6 @@ mkWaiApp isoLevel loggerCtx sqlGenCtx enableAL pool ci httpManager mode corsCfg planCache <- liftIO $ E.initPlanCache planCacheOptions let corsPolicy = mkDefaultCorsPolicy corsCfg - logger = L.mkLogger loggerCtx lqState <- liftIO $ EL.initLiveQueriesState lqOpts pgExecCtx wsServerEnv <- liftIO $ WS.createWSServerEnv logger pgExecCtx lqState cacheRef httpManager corsPolicy diff --git a/server/src-lib/Hasura/Server/Auth.hs b/server/src-lib/Hasura/Server/Auth.hs index e5a47cc4cfa48..f0845fae7c559 100644 --- a/server/src-lib/Hasura/Server/Auth.hs +++ b/server/src-lib/Hasura/Server/Auth.hs @@ -87,16 +87,16 @@ mkAuthMode -> Maybe JWTConfig -> Maybe RoleName -> H.Manager - -> LoggerCtx Hasura + -> Logger Hasura -> m AuthMode -mkAuthMode mAdminSecret mWebHook mJwtSecret mUnAuthRole httpManager lCtx = +mkAuthMode mAdminSecret mWebHook mJwtSecret mUnAuthRole httpManager logger = case (mAdminSecret, mWebHook, mJwtSecret) of (Nothing, Nothing, Nothing) -> return AMNoAuth (Just key, Nothing, Nothing) -> return $ AMAdminSecret key mUnAuthRole (Just key, Just hook, Nothing) -> unAuthRoleNotReqForWebHook >> return (AMAdminSecretAndHook key hook) (Just key, Nothing, Just jwtConf) -> do - jwtCtx <- mkJwtCtx jwtConf httpManager lCtx + jwtCtx <- mkJwtCtx jwtConf httpManager logger return $ AMAdminSecretAndJWT key jwtCtx mUnAuthRole (Nothing, Just _, Nothing) -> throwError $ @@ -122,14 +122,13 @@ mkJwtCtx ) => JWTConfig -> H.Manager - -> LoggerCtx Hasura + -> Logger Hasura -> m JWTCtx -mkJwtCtx conf httpManager loggerCtx = do +mkJwtCtx conf httpManager logger = do jwkRef <- case jcKeyOrUrl conf of Left jwk -> liftIO $ newIORef (JWKSet [jwk]) Right url -> do ref <- liftIO $ newIORef $ JWKSet [] - let logger = mkLogger loggerCtx mTime <- updateJwkRef logger httpManager url ref case mTime of Nothing -> return ref