vollt
vollt copied to clipboard
Web Application skeleton of tutorial may fail with NPE requesting votables
Thank you for the nice tutorial and doc that help to setup a running vollt server. Once configured and deployed the Web Application Skeleton properly returned /tables but failed with queries requesting output in votables. CSV was fine.
I just replace the included jar by the ones generated by the build.gradle and everything run smoothly for basic votable queries.
Here is the stacktrace I get with the jar provided by the myfirsttap webapp :
2021-01-14 07:38:26.943 INFO HTTP REQUEST_RECEIVED S1610609906943 POST as application/x-www-form-urlencoded at http://localhost:8008/vollt/tap/sync from 172.17.0.1 using TOPCAT/4.5 Java/1.8.0_275 with parameters (request=doQuery&query=SELECT * FROM oidb&lang=ADQL-2.0)
2021-01-14 07:38:26.944 INFO JOB START S1610609906943 Synchronous job S1610609906943 is starting!
2021-01-14 07:38:26.944 INFO THREAD START S1610609906943 Synchronous thread "S1610609906943" started. S1610609906943 (thread ID: 46) is RUNNABLE in the group UWS_GROUP where 1 threads are active
2021-01-14 07:38:26.944 INFO TAP START_EXEC S1610609906943 Synchronous execution of an ADQL query STARTED. SYNC,duration=-1ms (upload=-1,parse=-1,exec=-1,format[votable]=-1)
2021-01-14 07:38:26.944 INFO TAP PARSING S1610609906943 Parsing ADQL: SELECT * FROM oidb SYNC,duration=-1ms (upload=-1,parse=-1,exec=-1,format[votable]=-1)
2021-01-14 07:38:26.946 INFO TAP START_DB_EXECUTION S1610609906943 ADQL query: SELECT * FROM oidb SYNC,duration=-1ms (upload=-1,parse=2,exec=-1,format[votable]=-1)
2021-01-14 07:38:26.947 INFO DB TRANSLATE S1610609906943 Translating ADQL: SELECT * FROM oidb
2021-01-14 07:38:26.948 INFO DB EXECUTE S1610609906943 SQL query: SELECT "public"."oidb"."access_estsize" AS "access_estsize","public"."oidb"."access_format" AS "access_format","public"."oidb"."access_md5" AS "access_md5","public"."oidb"."access_url" AS "access_url","public"."oidb"."bib_reference" AS "bib_reference","public"."oidb"."calib_level" AS "calib_level","public"."oidb"."datapi" AS "datapi","public"."oidb"."dataproduct_type" AS "dataproduct_type","public"."oidb"."data_rights" AS "data_rights","public"."oidb"."em_max" AS "em_max","public"."oidb"."em_min" AS "em_min","public"."oidb"."em_res_power" AS "em_res_power","public"."oidb"."facility_name" AS "facility_name","public"."oidb"."id" AS "id","public"."oidb"."instrument_mode" AS "instrument_mode","public"."oidb"."instrument_name" AS "instrument_name","public"."oidb"."interferometer_stations" AS "interferometer_stations","public"."oidb"."keywords" AS "keywords","public"."oidb"."nb_channels" AS "nb_channels","public"."oidb"."nb_t3" AS "nb_t3","public"."oidb"."nb_vis" AS "nb_vis","public"."oidb"."nb_vis2" AS "nb_vis2","public"."oidb"."obs_collection" AS "obs_collection","public"."oidb"."obs_creator_name" AS "obs_creator_name","public"."oidb"."obs_id" AS "obs_id","public"."oidb"."obs_publisher_did" AS "obs_publisher_did","public"."oidb"."obs_release_date" AS "obs_release_date","public"."oidb"."o_ucd" AS "o_ucd","public"."oidb"."pol_states" AS "pol_states","public"."oidb"."progid" AS "progid","public"."oidb"."quality_level" AS "quality_level","public"."oidb"."s_dec" AS "s_dec","public"."oidb"."s_fov" AS "s_fov","public"."oidb"."s_ra" AS "s_ra","public"."oidb"."s_region" AS "s_region","public"."oidb"."s_resolution" AS "s_resolution","public"."oidb"."subdate" AS "subdate","public"."oidb"."target_name" AS "target_name","public"."oidb"."t_exptime" AS "t_exptime","public"."oidb"."t_max" AS "t_max","public"."oidb"."t_min" AS "t_min","public"."oidb"."t_resolution" AS "t_resolution" FROM "public"."oidb"
2021-01-14 07:38:27.076 INFO DB RESULT S1610609906943 Returning result (fetch size = 10000).
2021-01-14 07:38:27.076 INFO TAP END_DB_EXECUTION S1610609906943 Query successfully executed in 130ms! SYNC,duration=-1ms (upload=-1,parse=2,exec=-1,format[votable]=-1)
2021-01-14 07:38:27.076 INFO TAP WRITING_RESULT S1610609906943 Writing the query result SYNC,duration=-1ms (upload=-1,parse=2,exec=130,format[votable]=-1)
2021-01-14 07:38:27.078 FATAL THREAD END S1610609906943 Synchronous thread "S1610609906943" ended with a FATAL error. S1610609906943 (thread ID: 46) is RUNNABLE in the group UWS_GROUP where 1 threads are active
2021-01-14 07:38:27.078 FATAL JOB END S1610609906943 The following GRAVE error interrupted the execution of the synchronous job S1610609906943.
Caused by a java.lang.NullPointerException
at uk.ac.starlink.votable.VOSerializer.formatAttribute(VOSerializer.java:610)
at tap.formatter.VOTableFormat.writeHeader(VOTableFormat.java:421)
at tap.formatter.VOTableFormat.writeResult(VOTableFormat.java:352)
at tap.ADQLExecutor.writeResult(ADQLExecutor.java:750)
at tap.ADQLExecutor.writeResult(ADQLExecutor.java:679)
at tap.ADQLExecutor.start(ADQLExecutor.java:392)
at tap.ADQLExecutor.start(ADQLExecutor.java:303)
at tap.TAPSyncJob$SyncThread.run(TAPSyncJob.java:410)
2021-01-14 07:38:27.079 ERROR HTTP RESPONSE_SENT S1610609906943 TAP resource "sync" execution FAILED with the error: "java.lang.NullPointerException"! HTTP-500 to the user ANONYMOUS as application/xml;charset=UTF-8
stil dependency update fixes the issue
Thanks for this nice piece of software! All the best for this new year,