2017-02-21 35 views
1
錯誤處理邏輯

我看最新版本(obtained from gs://cloud-ml/sdk/cloudml-0.1.9-alpha.dataflow.tar.gz錯誤在google.cloud.ml.dataflow.batch_prediction.PredictionDoFn

上的行google/cloud/ml/dataflow/batch_prediction.py 153-159,我們有下面的代碼:

except Exception as e: # pylint: disable=broad-except 
    logging.error("Got an unknown exception: [%s].", traceback.format_exc()) 
    if self._cloud_logger: 
    self._cloud_logger.write_error_message(
     str(e), self._create_snippet(context.element)) 
    yield beam.pvalue.SideOutputValue("errors", 
            (e.error_message, context.element)) 

但是,異常對象e可能沒有屬性error_message。這偶爾給我這樣的錯誤如下:

  • AttributeError: 'exceptions.RuntimeError' object has no attribute 'error_message' [while running 'Evaluate/ParDo(PredictionDoFn)']
  • AttributeError: 'exceptions.KeyError' object has no attribute 'error_message' [while running 'Evaluate/ParDo(PredictionDoFn)']

我認爲這些錯誤不應該提高,因爲除了塊的整點是捕捉這些錯誤並將它們作爲側面輸出傳遞出ParDo。

回答

2

感謝您的舉報!我們已經修復了它,並且很快就會在下一個版本中提供一個好的版本。