-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[Failing Test]: Many BigQuery direct read Python PostCommit failing possibly due to fastavro regression #28811
Comments
This one is hitting us in production, any work arounds ? e.g. any health version ? currently using |
If you are using our released docker image it should not be hit because fastavro dependency is included. If you are building custom environment, explicitly install fastavro<1.8.4 ( |
@yupbank see recommendations about building reproducible environments on https://beam.apache.org/documentation/sdks/python-pipeline-dependencies/ to prevent an issue like this affecting your production. |
Should we limit pin fastavro to <1.8.4? Line 245 in af9da31
|
we need a bug on fastavro side; to unblock tests, we could temporarily add |
they might be working on patch release to remediate. |
Created an issue for fastavro fastavro/fastavro#720 |
But the root danger is still here: if fastavro releases a bad version in our allowed range, all users break. Is our dependency pinning strategy wrong? |
We tend to follow Also, we don't want to pin a tighter upper bounds on the dependencies since users will miss out on using latest minor releases until the next beam release comes out |
We have to choose. Either:
In scenario 2 we can't really treat transitive dependency changes as a panic situation or release blocker, because the behavior is actually by design. To be very clear: I like scenario 2 better and I think dependency pinning should wait until the final deployment of an application. For test coverage: Even though we claim we are compatible with a semver range, we have not tested that whole range. In reality it just means the same thing as being pinned to the top of the range. We have no idea if Beam 2.51.0 actually works with lower versions of fastavro. It was never tested. |
Currently we release the docker image per release which contains fixed version of dependency, which partly mitigate the potential issue of choice 2. In this case, the same test does not break on Dataflow, which builds docker image via |
What happened?
Possibly due to 1.8.4 released today (Oct 3)
Issue Failure
Failure: Test is continually failing
Issue Priority
Priority: 1 (unhealthy code / failing or flaky postcommit so we cannot be sure the product is healthy)
Issue Components
The text was updated successfully, but these errors were encountered: