Trying to read a Google BigQuery table that contains a variable that is defined as an array of records might result in an error and cause SAS to shut down. This issue occurs when one of the variables contained in the record is also defined as an array of records. The error that is seen varies depending on how you are running SAS. Here are some examples:
- If you are running SAS® 9.4M6 (TS1M6) through Display Manager, command line, or batch, the error written to the UNIX shell might look similar to one of the following:
10? panic: runtime error: index out of range
goroutine 17 [running, locked to thread]:
main.(*stmt).readRecordinArray(0xc00038e870, 0xc0000b3ec0, 0x3, 0x4,
0xc0004fe310, 0xc000194e00, 0xf, 0x10)
/home/sdsci/access-bigquery/bigquery/read.go:87 +0xe04
main.(*stmt).readArray(0xc00038e870, 0xc00035c720, 0x1, 0x1, 0xc0004fe310,
0xc000194e00, 0xf, 0x10)
/home/sdsci/access-bigquery/bigquery/read.go:153 +0x2c2
main.(*stmt).readRecordinArray(0xc00038e870, 0xc000030d00, 0xf, 0x10,
0xc0004fe310, 0xc000194e00, 0xf, 0x10)
/home/sdsci/access-bigquery/bigquery/read.go:85 +0xc23
main.(*stmt).readArray(0xc00038e870, 0xc00035c730, 0x1, 0x1, 0xc0004fe310,
0xc000194e00, 0xf, 0x10)
/home/sdsci/access-bigquery/bigquery/read.go:153 +0x2c2
main.gbqgoFetch(0x5, 0x7efe9805f908, 0x7efe545cf120, 0x1000, 0x30)
/home/sdsci/access-bigquery/bigquery/read.go:249 +0x909
main._cgoexpwrap_abb6517b0c72_gbqgoFetch(0x5, 0x7efe9805f908, 0x7efe545cf120,
0x1000, 0xc)
_cgo_gotypes.go:398 +0x4b
10? panic: interface conversion: bigquery.Value is bool, not string
goroutine 17 [running, locked to thread]:
main.(*stmt).readRecordinArray(0xc000387590, 0xc0003df5c0, 0x3, 0x4,
0xc00017d500, 0xc000030b00, 0x16, 0x20)
/home/sdsci/access-bigquery/bigquery/read.go:93 +0xdfd
main.(*stmt).readArray(0xc000387590, 0xc000260e00, 0x5, 0x8, 0xc00017d500,
0xc000030b00, 0x16, 0x20)
/home/sdsci/access-bigquery/bigquery/read.go:153 +0x2c2
main.(*stmt).readRecordinArray(0xc000387590, 0xc000518e00, 0x16, 0x20,
0xc00017d500, 0xc000030b00, 0x16, 0x20)
/home/sdsci/access-bigquery/bigquery/read.go:85 +0xc23
main.(*stmt).readArray(0xc000387590, 0xc0003f1620, 0x1, 0x1, 0xc00017d500,
0xc000030b00, 0x16, 0x20)
/home/sdsci/access-bigquery/bigquery/read.go:153 +0x2c2
main.gbqgoFetch(0x8, 0x7f96b804fd48, 0x7f9690fcb880, 0x1000, 0x30)
/home/sdsci/access-bigquery/bigquery/read.go:249 +0x909
main._cgoexpwrap_abb6517b0c72_gbqgoFetch(0x8, 0x7f96b804fd48, 0x7f9690fcb880,
0x1000, 0x7f9600000003)
_cgo_gotypes.go:398 +0x4b
Aborted
- If you are using SAS® Enterprise Guide® to run SAS 9.4M6 (TS1M6), the above errors might not be seen. Instead, you might receive a pop-up window with an error similar to the following:
Connection is lost or abandoned.
- If you are using SAS® Studio to access SAS® Viya® (19w34) or later and are using a libref to access the BigQuery table, you might not receive any error that indicates that the code did not execute. The code that was submitted is not shown in the SAS Studio log.
- If you are using SAS Studio to access SAS Viya (19w34) or later and are using a CASLIB to access the Google BigQuery table, you might see an error similar to the following:
ERROR: Connection failed. Server returned: Session reconnect failed: Could not find the specified session.
Click the Hot Fix tab in this note for a link to instructions about accessing and applying the software update.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to Google BigQuery (on SAS Viya) | Linux for x64 | V.03.04 | 2020.0.4 | Viya | Viya |
SAS System | SAS/ACCESS Interface to Google BigQuery | Linux for x64 | 9.41 | 9.42 | 9.4 TS1M6 | 9.4 TS1M7 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.