-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
RecursionError when pickling bigquery table object #3052
Comments
I noticed the error include the message:
It seems DaskKubernetes requires RBAC permissions to |
The Dask Kubernetes Documentation seems to have added something on the need for
|
@mousetree definitely we could add the listing permissions for services to the RBAC but I think that's a red herring here because it looks to happen after the issue occurs. Tagging @jcrist in case he has seen this recursion depth issue before, otherwise we can try to reproduce 🙂 |
That looks like it's happening in your flow execution, not in the dask/environment layer. I suspect you could reproduce without registering the flow by running with a dask executor instead. It looks like a pickling error, so it might have to do with version differences between dask workers and your flow runner or possibly google objects failing to pickle properly (which happens) Can you try running on dask but outside of k8s (which I think is likely unrelated)? # Stuff to create your flow object...
from prefect.engine.executors import DaskExecutor
executor = DaskExecutor()
flow.run(executor=executor) |
Thanks for the follow up @jcrist. So I've tried to run it with both
It indeed seems like a pickling error. Any ideas how I can resolve this? |
That indeed looks to be due to pickling issues. Two things I'd check (in order):
|
This might be crazy, but is it possible that pickling fails when there is code that:
vs.
I'm not sure what the requirements are for pickling, but that seems to solve some cases. |
I raised this issue in the repo of Bigquery. Hope they fix it! |
Description
When running my flow against a DaskKubernetes environment I get the following RecursionError:
Following that error I am getting an error that looks like this:
Expected Behavior
When running locally with
flow.run()
it gives no errors, but I get the above error when running withDaskKubernetes
Reproduction
The code I'm running looks something like the following:
Additionally, when running on my cluster, the CI/CD process executes another Python file that looks like:
Environment
On my local machine:
From inside the prefect agent container on my Kubernetes cluster:
I've noticed the Python versions are different.
The text was updated successfully, but these errors were encountered: