iris-hep / func_adl_servicex

Send func_adl expressions to a ServiceX endpoint
0 stars 4 forks source link

Queries passing through all columns fail #50

Closed alexander-held closed 1 year ago

alexander-held commented 2 years ago

I am trying to do a query passing through all columns. This works fine with func_adl_uproot:

from func_adl_uproot import UprootDataset
ds = UprootDataset("nanoaod15.root", "Events")
ds.value()

It does not work with func_adl_servicex:

import servicex
from func_adl_servicex import ServiceXSourceUpROOT

dataset_name = ["https://xrootd-local.unl.edu:1094//store/user/AGC/nanoAOD/nanoaod15.root"]
sx_dataset = servicex.ServiceXDataset(dataset_name, "uproot")
ds = ServiceXSourceUpROOT(sx_dataset, "Events")
ds.value()

This crashes with

Transform be73e06d-0c92-46e5-8b43-13ba009717d4 had 1 errors:
  Error transforming file: h
  -> error.

(see https://github.com/ssl-hep/ServiceX/issues/408). The query succeeds when using ds.Select(lambda e: e.Jet_pt).value() instead.

The file being used is equivalent in both cases. I am using the following versions of libraries:

func-adl             3.0
func-adl-servicex    2.0
func-adl-uproot      1.9.0
servicex             2.5.4
gordonwatts commented 2 years ago

This almost certainly is not a bug in this package, but let's start from here.

alexander-held commented 2 years ago

I just ran this again with https://uproot-atlas.servicex.af.uchicago.edu/ and it succeeded with the same library versions. Perhaps the issue I saw was endpoint specific (I unfortunately do not remember which I used), but at the time that seemed unlikely to me as the query did work when specifying the column against the same endpoint.

gordonwatts commented 1 year ago

I just tested this again today, and it seems to work on the af backend. So I'm going to call this "not reproducable" - and if it comes up again, we should re-open!