[
https://issues.apache.org/jira/browse/DRILL-5316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15945780#comment-15945780
]
Robert Hou commented on DRILL-5316:
-----------------------------------
I asked Rob for some ideas on how to reproduce this problem. He wrote:
For me, the issue surfaced on its own when the VM becomes unstable.
To make it unstable, I modified the drill-override.conf’s cluster id to be a
something very very long with different symbols. Restart the drill bit so the
new setting gets loaded. Then switch it back to cluster id contains dots and
restart again. Finally, try connecting with cluster id “drill” or “drillbits”
or “drillbits1” or “drilbit1” or “drillbit” (or other cluster id of your
choice).
Not sure how easily it is to reproduce on a new set up again.
Perhaps simply stopping the zk service would do?
> C++ Client Crashes When drillbitsVector.count is 0 after zoo_get_children
> completed with ZOK
> --------------------------------------------------------------------------------------------
>
> Key: DRILL-5316
> URL: https://issues.apache.org/jira/browse/DRILL-5316
> Project: Apache Drill
> Issue Type: Bug
> Components: Client - C++
> Reporter: Rob Wu
> Assignee: Chun Chang
> Priority: Critical
> Labels: ready-to-commit
> Fix For: 1.11.0
>
>
> When connecting to drillbit with Zookeeper, occasionally the C++ client would
> crash without any reason.
> A further look into the code revealed that during this call
> rc=zoo_get_children(p_zh.get(), m_path.c_str(), 0, &drillbitsVector);
> zoo_get_children returns ZOK (0) but drillbitsVector.count is 0.
> This causes drillbits to stay empty and thus
> causes err = zook.getEndPoint(drillbits[drillbits.size() -1], endpoint); to
> crash
> Size check should be done to prevent this from happening
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)