-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Regression after upgrading to fastavro 1.8.4 #720
Comments
@riteshghorse could it be because we have a newer version of fastavro at job submission, when we generate test data, but older version of fastavro in the Dataflow containers at runtime? |
there might be not enough info for fastavro folks to investigate , perhaps this can be reproed in a simple example? |
Agree, could be a version mismatch issue. |
Thanks for the heads up, but yeah, will definitely need some additional info. The best would be the binary data that was being decoded. If that's not possible, a reproducible script would be great. Of course, I understand it's not always possible to share the schema/data. Do you know if the encoded binary was created by fastavro or another avro library? |
@riteshghorse @tvalentyn I think I have an idea of what's going on. One of the changes between 1.8.3 and 1.8.4 was to raise EOFError instead of StopIteration when we reach the end of a buffer as it's more descriptive of what's actually happening. Looking at the part that is failing in Beam, I see it tries to call schemaless_reader but can catch the StopIteration. I'm willing to bet that all you have to do is change the try/except to catch an |
Oh thanks for this investigation, Scott! I'll try this change |
Hint for anyone who found this topic and they're using |
Thank you Scott! That solved the issue for us :) |
We found a regression in the latest release version 1.8.4 where some of our tests are failing with EOFError. Below is the stacktrace indicating specific functions from fastavro:
The text was updated successfully, but these errors were encountered: