numaproj / numalogic

Collection of operational time series ML models and tools
https://numalogic.numaproj.io/
Apache License 2.0
166 stars 28 forks source link

fix for Nonetype: None in the ERROR logs #400

Closed gulshan02 closed 3 months ago

gulshan02 commented 3 months ago

What: Observed NoneType: None in preprocess and inference UDFs. Example: 2024-07-02 03:44:26,863 - 139658258261696 - ERROR - uuid='2a4ae443-15ab-496c-95ba-83ebc380df59' event='Artifact model not loaded!' udf_vertex='inference' config_id='serviceTraceMetrics' pipeline_id='request' metadata={'adjust_with_impact': {'timestamp': 1719891659999, 'true': 0}, 'mean_of_features': {'true': 0.23076923076923078}, 'numalogic_opex_tags': {'source': 'numalogic_metrics'}, 'tags': {'assetAlias': 'Intuit.cto.iam.iux', 'assetId': '3172803529671879897', 'env': 'prd', 'opname': 'GET /fe_logger/.env.dev.local'}} exc_info=True level='error' timestamp='2024-07-02T03:44:26.863733Z' NoneType: None

Why: logger.exception is usually called from the except block. Not logging from the except block, means there is no execution_info provided. As a result, sys_exec.info() call from logging stdlib return (None, None, None) for type, value and stackTrace of exception.

How: Either write logger.exception inside the except block or use logger.error instead.

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.11%. Comparing base (b8b8f2b) to head (3fd4655).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #400 +/- ## ======================================= Coverage 92.11% 92.11% ======================================= Files 97 97 Lines 4782 4782 Branches 430 430 ======================================= Hits 4405 4405 Misses 279 279 Partials 98 98 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.