googleapis / googleapis/google-cloud-java
[java-bigquery] BigQuery: data is sometimes not inserted in tables
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 154
Description
Hi,
I'm having random data missing/not showing up in BigQuery issues. I would seemingly write data without issues, but SELECT * would return nothing.
1. Have tried latest version but still same issue.
```
com.google.cloud
google-cloud-bigquery
2.28.0
```
2. Linux and Windows
3. JDK 8.202
#### Steps to reproduce
Issue is random, can't reproduce reliably. The writes are batched to 1-2k rows and 99% they work.
The control panel shows no errors. None of the quotas show up as exceeded. I get no exceptions and response.getInsertErrors() is always null. The issue seems to happen when doing intensive writes, as less batches per minute of the same size work fine.
Any ideas what's wrong? thank you.
#### Code example
```java
GoogleCredential credential = new GoogleCredential.Builder().setTransport(new NetHttpTransport())
.setJsonFactory(new JacksonFactory())
.setClientSecrets("clientId", "clientSecret")
.build()
.setFromTokenResponse(new TokenResponse().setRefreshToken("refreshToken");
Bigquery bigquery = new Bigquery.Builder(new NetHttpTransport(), new JacksonFactory(), credential)
.setApplicationName("name").build();
List rowList = new ArrayList();
TableRow rowWrapper = new TableRow();
rowWrapper.set("date", item.GetDate());
rowWrapper.set("value", item.GetValue());
TableDataInsertAllRequest.Rows insertRowRequest = new TableDataInsertAllRequest.Rows();
rowList.add(insertRowRequest);
TableDataInsertAllRequest content = new TableDataInsertAllRequest().setRows(rowList);
InsertAll op = bigquery.tabledata().insertAll("project", "dataset", "table", content);
TableDataInsertAllResponse response = op.execute();
if (response.getInsertErrors() == null)
{
; // all good
}
// example
Contributor guide
Assessment
This issue has not been assessed yet.