-
-
Notifications
You must be signed in to change notification settings - Fork 407
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
Simbad query_objects()
raises DALQueryError
for first time running it on a clean machine
#3204
Comments
I can reproduce this, too. This looks to be a weird one, cc @ManonMarchand |
Weird. I can reproduce this. |
Investigations so far:
from astroquery.simbad import Simbad
from astropy.table import Table
table = Table({"a": [1, 2, 3]})
simbad = Simbad()
simbad.query_tap("select * from TAP_UPLOAD.local_table", local_table=table) but it has to contain an upload to reproduce EDIT: Ahah got it to bug with only PyVO: from pyvo.dal.tap import TAPService
from astropy.table import Table
tap = TAPService("https://simbad.cds.unistra.fr/simbad/sim-tap/")
table = Table({"a": [1, 2, 3]})
tap.run_async("select * from TAP_UPLOAD.local_table", uploads={"local_table": table}) The synchrone mode does not bug. A dirty fix in astroquery would be to switch queries with uploaded tables to synchrone mode (but the hardlimit on the timeout is lower, so it might be an issue for some users). There is definitely something wrong happening upstream, either in pyvo or in google colab. Warnings and errors in Colab's console: Details
Feature Policy: Skipping unsupported feature name “accelerometer”. external_binary.js:4674:442 Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead Resource URL: https://4uokefuz70i-496ff2e9c6d22116-0-colab.googleusercontent.com/outputframe.html?vrz=colab_20250205-060136_RC00_723469086 No warnings nor error the second time around. Decomposing a bit what from pyvo.dal.tap import TAPService, AsyncTAPJob
from astropy.table import Table
simbad = TAPService("https://simbad.cds.unistra.fr/simbad/sim-tap/")
table = Table({"a": [1, 2, 3]})
job = AsyncTAPJob.create(
simbad.baseurl, "select * from TAP_UPLOAD.local_table", uploads={"local_table": table},
session=simbad._session)
print("job id: ", job.job_id) no errors in the console, and the job is created normally on the server side. When we do: job.run() The job has an upload error on the server side. |
I managed to reproduce it locally, rather than on colab, but after the first run it keep working no matter how much I clean up the env (uninstalling asyroquery and pyvo is apparently not enough) |
Ditto @bsipocz. Does pyvo cache something somewhere? |
I still cannot reproduce locally. How did you create the environment? Just tried an old classic venv on top of conda and uv |
I don't know! I just tried it in my existing environment, and the first attempt reproduced the above failure, but all subsequent attempts failed to fail (succeeded). I don't know how to get back to the failing state, which unfortunately makes this rather difficult to debug. |
I have just tried on two computing servers (denoted as server A and B, with different IP addresses) with a shared user directory between the two. Running the On my laptop which I have encountered Then I dig out one of my old laptop (haven't used it for a few months) and try, I agree this might be a server side problem where this problem somehow happen only once for each IP address? |
Thank you, that's a good clue! |
I reproduced it in TOPCAT with a new IP address. |
Unrelated to this particular issue, but you may be interested in my approach of providing both sync and async TAP. OK, IRSA was different than simbad in a sense that we default to sync and then started to run into timeouts and other issues when people were running bigger queries, so I added async: #3201 |
On Github action or Google Colab, simbad
query_objects()
raisesDALQueryError
running for the first time ever on a clean machine for astroquery 0.4.9.The way to reproduce on Google Colab (make sure it is a new runtime that you have to install astroquery, not just restart with a new session). Running
raises
and then simply running
again gives correct result without errors. Even if you restarting a new session,
query_objects()
works fine without issue.The text was updated successfully, but these errors were encountered: