DataState的数据流并发错误

时间:2017-10-07 17:13:22

标签: google-cloud-dataflow

Beam 2.1管道在有状态DoFn中使用ValueState。它可以与单个工作程序一起运行,但是当启用扩展时将失败并显示“无法从状态读取值”和下面的根异常。有什么想法会导致这种情况吗?

    Set App = CreateObject("Illustrator.Application")
    Set FSO = CreateObject("Scripting.FileSystemObject")        
    Dim SourceFolder, DestFolder, NewState, NewSection
    Call GetNewInputs()
    Sub GetNewInputs()

        NewState = UCase(InputBox("Current STATE or REGION to be processed.", _
        "STATE or REGION", "SOCAL"))

        NewSection = ("Section_" & InputBox("INPUT SECTION NUMBER: Section_YY", _
        "Input Section", "32"))

        Set SourceFolder = FSO.GetFolder("S:\" & NewState & "\" & NewSection & "\Road DXFs")
        DestFolder = "S:\" & NewState & "\" & NewSection & "\Light TIFFs\"

    End Sub       

   App.DoJavaScript("function test(){var doc = app.activeDocument;var destFile = new File(""/s/" + <%=NewState%> + "/" + <%=NewSection%> + "/Light TIFFs/SOCAL_CN68_resx.tif"");var type = ExportType.TIFF;var opts = new ExportOptionsTIFF();opts.imageColorSpace=ImageColorSpace.GrayScale;opts.resolution=72;opts.antiAliasing=AntiAliasingMethod.ARTOPTIMIZED;opts.IZWCompression=false;opts.saveMultipleArtboards=true;opts.artboardRange=""1"";doc.exportFile(destFile, type, opts);}test();")  

    MyDoc.Close(2)

1 个答案:

答案 0 :(得分:3)

我认为异常应该重新抛出。状态机制抛出它表示不应该执行该键的其他工作,并且将由Dataflow运行程序自动重试。

这些通常表明应该对不同的工作人员执行该特定工作(因此继续进行并不会有帮助)。

有可能误用状态 - 从一个密钥存储状态对象并尝试在另一个密钥上使用它 - 也可能导致这些错误。如果是这种情况,您可以在Stackdriver日志记录中的worker或shuffler日志中看到更多诊断消息。

如果既没有重试也没有查看日志记录以及如何使用状态对象帮助,请提供证明问题的作业ID。