[ 
https://issues.apache.org/jira/browse/BEAM-6443?focusedWorklogId=196743&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-196743
 ]

ASF GitHub Bot logged work on BEAM-6443:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 10/Feb/19 23:39
            Start Date: 10/Feb/19 23:39
    Worklog Time Spent: 10m 
      Work Description: reuvenlax commented on pull request #7547: [BEAM-6443] 
decrease the number of thread for BigQuery streaming inseā€¦
URL: https://github.com/apache/beam/pull/7547#discussion_r255362695
 
 

 ##########
 File path: 
sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java
 ##########
 @@ -945,4 +951,132 @@ public static CustomHttpErrors 
createBigQueryClientCustomErrors() {
             + 
"https://cloud.google.com/service-infrastructure/docs/rate-limiting#configure";);
     return builder.build();
   }
+
+  private static class BoundedExecutorService implements ExecutorService {
+    private ExecutorService executor;
+    private Semaphore semaphore;
+
+    BoundedExecutorService(ExecutorService executor, int parallelism) {
+      this.executor = executor;
+      this.semaphore = new Semaphore(parallelism);
+    }
+
+    @Override
+    public void shutdown() {
+      executor.shutdown();
+    }
+
+    @Override
+    public List<Runnable> shutdownNow() {
 
 Review comment:
   A bit weird that what will get returned here are the wrapped 
SemaphoreRunnable objects. Technically this violates the contract of Executor 
(you should get back Executors that you put in)
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 196743)
    Time Spent: 2.5h  (was: 2h 20m)

> decrease the number of threads for BigQuery streaming insertAll
> ---------------------------------------------------------------
>
>                 Key: BEAM-6443
>                 URL: https://issues.apache.org/jira/browse/BEAM-6443
>             Project: Beam
>          Issue Type: Improvement
>          Components: io-java-gcp
>            Reporter: Heejong Lee
>            Assignee: Heejong Lee
>            Priority: Major
>              Labels: triaged
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> When inserting (a large number of ) very small elements into BigQuery via 
> streaming insertAll, BigQueryIO causes lots of quota exceeded errors. This 
> implies that 1) BigQueryIO puts unnecessary overheads on BigQuery API layer 
> by sending requests too fast 2) log file becomes very big because of repeated 
> same error messages. Currently we use 50 shards for writing data into 
> BigQuery and in each bundle 20-30 futures are executed simultaneously with 
> unlimited thread pool. It would be worth investigating whether just single 
> thread pool is sufficient for running concurrent insertAll.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to