[ 
https://issues.apache.org/jira/browse/DRILL-7290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arina Ielchiieva updated DRILL-7290:
------------------------------------
    Priority: Major  (was: Blocker)

> “Failed to construct kafka consumer” using Apache Drill
> -------------------------------------------------------
>
>                 Key: DRILL-7290
>                 URL: https://issues.apache.org/jira/browse/DRILL-7290
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>    Affects Versions: 1.14.0, 1.16.0
>            Reporter: Aravind Voruganti
>            Priority: Major
>
> {noformat}
>  {noformat}
> I am using the Apache Drill (1.14) JDBC driver in my application which 
> consumes the data from the Kafka. The application works just fine for some 
> time and after few iterations it fails to execute due to the following *Too 
> many files open* issue. I made sure there are no file handle leaks in my code 
> but still nor sure why this issue is happening?
>  
> It looks like the issue is happening from with-in the Apache drill libraries 
> when constructing the Kafka consumer. Can any one please guide me help this 
> problem fixed?
> The problem perishes when I restart my Apache drillbit but very soon it 
> happens again. I did check the file descriptor count on my unix machine using 
> *{{ulimit -a | wc -l}} & {{lsof -a -p <PID> | wc -l}}* before and after the 
> drill process restart and it seems the drill process is considerably taking a 
> lot of file descriptors. I tried increasing the file descriptor count on the 
> system but still no luck.
> I have followed the Apache Drill storage plugin documentation in configuring 
> the Kafka plugin into Apache Drill at 
> [https://drill.apache.org/docs/kafka-storage-plugin/]
> Any help on this issue is highly appreciated. Thanks.
> JDBC URL: *{{jdbc:drill:drillbit=localhost:31010;schema=kafka}}*
> NOTE: I am pushing down the filters in my query {{SELECT * FROM myKafkaTopic 
> WHERE kafkaMsgTimestamp > 1560210931626}}
>  
> 2019-06-11 08:43:13,639 [230033ed-d410-ae7c-90cb-ac01d3b404cc:foreman] INFO 
> o.a.d.e.store.kafka.KafkaGroupScan - User Error Occurred: Failed to fetch 
> start/end offsets of the topic myKafkaTopic (Failed to construct kafka 
> consumer)
>  org.apache.drill.common.exceptions.UserException: DATA_READ ERROR: Failed to 
> fetch start/end offsets of the topic myKafkaTopic
> Failed to construct kafka consumer
> [Error Id: 73f896a7-09d4-425b-8cd5-f269c3a6e69a ]
>  at 
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:633)
>  ~[drill-common-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.store.kafka.KafkaGroupScan.init(KafkaGroupScan.java:198)
>  [drill-storage-kafka-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.store.kafka.KafkaGroupScan.<init>(KafkaGroupScan.java:98)
>  [drill-storage-kafka-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.store.kafka.KafkaStoragePlugin.getPhysicalScan(KafkaStoragePlugin.java:83)
>  [drill-storage-kafka-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.store.AbstractStoragePlugin.getPhysicalScan(AbstractStoragePlugin.java:111)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.logical.DrillTable.getGroupScan(DrillTable.java:99)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.logical.DrillScanRel.<init>(DrillScanRel.java:89)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.logical.DrillScanRel.<init>(DrillScanRel.java:69)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.logical.DrillScanRel.<init>(DrillScanRel.java:62)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.logical.DrillScanRule.onMatch(DrillScanRule.java:38)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:212)
>  [calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>  at 
> org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:652)
>  [calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>  at org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:368) 
> [calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>  at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:429)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:369)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRawDrel(DefaultSqlHandler.java:255)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:318)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:180)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:145)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:83)
>  [drill-java-exec-1.14.0.jar:1.14.0]
>  at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:567) 
> [drill-java-exec-1.14.0.jar:1.14.0]
>  at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:266) 
> [drill-java-exec-1.14.0.jar:1.14.0]
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [na:1.8.0_181]
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [na:1.8.0_181]
>  at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
>  Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka 
> consumer
>  at 
> org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:765)
>  ~[kafka-clients-0.11.0.1.jar:na]
>  at 
> org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:633)
>  ~[kafka-clients-0.11.0.1.jar:na]
>  at 
> org.apache.drill.exec.store.kafka.KafkaGroupScan.init(KafkaGroupScan.java:168)
>  [drill-storage-kafka-1.14.0.jar:1.14.0]
>  ... 23 common frames omitted
>  Caused by: org.apache.kafka.common.KafkaException: java.io.IOException: Too 
> many open files
>  at org.apache.kafka.common.network.Selector.<init>(Selector.java:129) 
> ~[kafka-clients-0.11.0.1.jar:na]
>  at org.apache.kafka.common.network.Selector.<init>(Selector.java:156) 
> ~[kafka-clients-0.11.0.1.jar:na]
>  at org.apache.kafka.common.network.Selector.<init>(Selector.java:160) 
> ~[kafka-clients-0.11.0.1.jar:na]
>  at 
> org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:701)
>  ~[kafka-clients-0.11.0.1.jar:na]
>  ... 25 common frames omitted
>  Caused by: java.io.IOException: Too many open files
>  at sun.nio.ch.EPollArrayWrapper.epollCreate(Native Method) ~[na:1.8.0_181]
>  at sun.nio.ch.EPollArrayWrapper.<init>(EPollArrayWrapper.java:130) 
> ~[na:1.8.0_181]
>  at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:69) 
> ~[na:1.8.0_181]
>  at 
> sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:36) 
> ~[na:1.8.0_181]
>  at java.nio.channels.Selector.open(Selector.java:227) ~[na:1.8.0_181]
>  at org.apache.kafka.common.network.Selector.<init>(Selector.java:127) 
> ~[kafka-clients-0.11.0.1.jar:na]
> {code:java}
>  {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to