[
https://issues.apache.org/jira/browse/DRILL-7290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arina Ielchiieva resolved DRILL-7290.
-------------------------------------
Resolution: Fixed
Merged with commit id ffd3c352586a5884747edcc5a93b0c625a47e100 in the scope of
DRILL-7388.
> “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
> Assignee: Arina Ielchiieva
> Priority: Major
> Fix For: 1.17.0
>
>
> {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)