> On Nov. 19, 2019, 10:38 p.m., Slim Bouguerra wrote: > > I recommend using a bounded queue instead of checking the size and soing > > the if else everytime > > something like this might work > > ```java > > BlockingQueue<Runnable> linkedBlockingDeque = new > > LinkedBlockingDeque<Runnable>( > > 1); > > ExecutorService service = new ThreadPoolExecutor(1, 1, 30, > > TimeUnit.SECONDS, linkedBlockingDeque, > > new > > ThreadPoolExecutor.DiscardPolicy()); > > > > ``` > > Attila Magyar wrote: > We also have a periodic event which is scheduled with a fix delay by the > ScheduledThreadPoolExecutor. The ThreadPoolExecutor can't do this scheduling, > this would require either using 2 executors (a ThreadPoolExecutor and a > ScheduledThreadPoolExecutor) or 1 executor plus a Timer, plus some > synchronization. The queue size check looked like the most simple solution I > could find.
I see Then this makes sense - Slim ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/71784/#review218697 ----------------------------------------------------------- On Nov. 19, 2019, 3:43 p.m., Attila Magyar wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/71784/ > ----------------------------------------------------------- > > (Updated Nov. 19, 2019, 3:43 p.m.) > > > Review request for hive, Laszlo Bodor, Harish Jaiprakash, Mustafa Iman, and > Panos Garefalakis. > > > Bugs: HIVE-22514 > https://issues.apache.org/jira/browse/HIVE-22514 > > > Repository: hive-git > > > Description > ------- > > HiveProtoLoggingHook uses a ScheduledThreadPoolExecutor to submit writer > tasks and to periodically handle rollover. The builtin > ScheduledThreadPoolExecutor uses a unbounded queue which cannot be replaced > from the outside. If log events are generated at a very fast rate this queue > can grow large. > > Since ScheduledThreadPoolExecutor does not support changing the default > unbounded queue to a bounded one, the queue capacity is checked manually by > the patch. > > > Diffs > ----- > > common/src/java/org/apache/hadoop/hive/conf/HiveConf.java a7687d59004 > ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java > 8eab54859bf > ql/src/test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java > 450a0b544d6 > > > Diff: https://reviews.apache.org/r/71784/diff/1/ > > > Testing > ------- > > unittest > > > Thanks, > > Attila Magyar > >