-
Notifications
You must be signed in to change notification settings - Fork 76
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
With dask cluster uproot.dask breaks #1102
Comments
@martindurant (and @douglasdavis), should this be a dask-awkward issue? (I don't have permissions to transfer it.) |
It says that the graph contains a lock object. That must have been introduced in the from_map call that I think uproot uses - perhaps proxying an open file? Printing out the details within the graph or translating it to a low-level-graph might help. |
Uh oh, I missed that. (I was looking at the bottom of the stack trace.) I'll figure out what that lock is for. |
I wish we had a better tool to tell you where in the object the unpicklable thing lives |
There's no issue in a random ROOT file, >>> import uproot, skhep_testdata
>>> from dask.distributed import Client
>>> client = Client()
>>>
>>> a = uproot.dask({skhep_testdata.data_path("uproot-HZZ.root"): "events"})
>>> a.compute()
<Array [{NJet: 0, Jet_Px: [], ...}, ..., {...}] type='2421 * {NJet: int32, ...'> so it must be something special in DAOD_PHYSLITE. Yes, it is. |
It's this one: uproot5/src/uproot/behaviors/TBranch.py Line 2473 in c128e4b
The thing that's special about this file (these branches, to be specific) is that it has incompletely written ("embedded") TBaskets, which have to be read single-threaded because reading it changes the TBranch object. I'll adapt the |
PR #1103 fixes this. |
I can get a few branches read in using uproot.dask no problem. As long as I don't have a dask cluster. With a distributed dask cluster it breaks. Here the simplest reproducible example. File is already cached so no need for authentication.
Here error:
The text was updated successfully, but these errors were encountered: