Hi Ankush. 
I hope all is well.  Were you able to see Paul and my review comments for the 
Druid plugin?
Thanks,
-- C

> On Mar 13, 2020, at 8:17 AM, Charles Givre <cgi...@gmail.com> wrote:
> 
> HI Ankush, 
> I hope you're doing ok. I live in Maryland and all our schools are now closed 
> for the next two weeks, so it will be interesting.... Anyway, I tagged you in 
> a few comments, but it's weird that my comments didn't show up on the main 
> page.  Take a look here and you should see them: 
> https://github.com/apache/drill/pull/1888/files 
> <https://github.com/apache/drill/pull/1888/files>
> 
> General comments:
> 1.  Please verify that all logger creations are in the correct format.  Also, 
> I'd strongly suggest avoiding info messages and use either debug, warn or 
> error as the case may be.
> 2.  I had a general question about security and passing credentials to Druid. 
>  I don't really know how Druid handles authentication, but it didn't seem 
> like there was any way to pass creds to Druid.  In any event, this will need 
> to be documented in the README file.   
> 3.  Please go through and remove any commented out code. 
> 
> Writing a storage plugin is not easy, and I'm really impressed that your 
> first contribution to Drill is something of this scale.  This is really nice 
> work and I'm really hoping we can get it committed for the next release. 
> Thanks,
> -- C
> 
> 
>> On Mar 13, 2020, at 5:56 AM, Ankush Kapur <ankush.ka...@gmail.com 
>> <mailto:ankush.ka...@gmail.com>> wrote:
>> 
>> Hi Charles,
>> 
>> Things are good here, and hope the same for you and your family.
>> 
>> Pardon me, but I do not see your review comments on the four files mentioned.
>> 
>> - Ankush
>> 
>> On Thu, Mar 12, 2020 at 8:36 PM Charles Givre <cgi...@gmail.com 
>> <mailto:cgi...@gmail.com>> wrote:
>> Hi Ankush, 
>> I hope all is well.  I started the review on your plugin.  I've reviewed 
>> about four files so far.  When you have a chance, please take a look at the 
>> review comments and if you have any questions, please let me know. 
>> Best,
>> -- C
>> 
>> 
>>> On Feb 28, 2020, at 8:33 AM, Charles Givre <cgi...@gmail.com 
>>> <mailto:cgi...@gmail.com>> wrote:
>>> 
>>> Hi Ankush,
>>> I hope all is well. I've been speaking with Paul about your plugin and I'm 
>>> going to do the code review.  I usually don't do big code reviews like 
>>> this, so I was hoping someone else would pick it up, but that hasn't 
>>> happened and I really want to see this get committed to the next version of 
>>> Drill. 
>>> 
>>> Since this is a large PR, I'm going to do this in small reviews rather than 
>>> one massive review so please expect waves of review.  I think it's best 
>>> that way it doesn't get overwhelming.  My game plan will be to focus on a 
>>> few files at a time rather than trying to look at the entire plugin and 
>>> give a few comments here and there.  I'll send future correspondence via 
>>> the dev alias in the interest of transparency as well.  I'm going to ask 
>>> Paul to look at the pushdown code as he is a lot more familiar with that 
>>> than I am, but we're not there yet. 
>>> 
>>> Thanks for all your work and patience on this and I am excited about 
>>> getting it into Drill.  I know it will be a benefit for the community. 
>>> Best,
>>> -- C
>>> 
>>> 
>>> 
>>>> On Jan 21, 2020, at 8:43 AM, Charles Givre <cgi...@gmail.com 
>>>> <mailto:cgi...@gmail.com>> wrote:
>>>> 
>>>> Hey Ankush, 
>>>> See responses inline.
>>>> 
>>>> 
>>>>> On Jan 21, 2020, at 8:12 AM, Ankush Kapur <ankush.ka...@gmail.com 
>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>> 
>>>>> Hi Charles,
>>>>> 
>>>>> Thanks for taking time to make the changes.
>>>> 
>>>> No problem.  Also FYI, Drill uses 2 space indents not 4.  I just pushed an 
>>>> update with all the spacing on 2 space.  Is there anything that I can 
>>>> assist with?
>>>> 
>>>>> 
>>>>> Could you please point me to the "commented-out" code you are referring 
>>>>> too. That's actually an issue i was trying to track down last weekend 
>>>>> while writing tests. I noticed that the "where" clause was not being 
>>>>> pushed down. This was keeping me from writing the tests I have been 
>>>>> working on.
>>>> 
>>>> The commented out code was in the DruidStoragePlugin, but it does not 
>>>> appear to be commented out anymore.  Have you rebased on the most current 
>>>> branch?  When I attempted to build your branch, I got an error in the 
>>>> RecordReader class. I'll take another look today or tomorrow.  Regarding 
>>>> pushdowns, have you seen the Calcite adapter for Druid 
>>>> (https://calcite.apache.org/docs/druid_adapter.html 
>>>> <https://calcite.apache.org/docs/druid_adapter.html>).  I'm wondering if 
>>>> you can basically extend or import the pushdowns from the Calcite adapter 
>>>> so that you don't have to recreate all that.  
>>>> 
>>>> I've been working on a pluign for Cassandra and am attempting to do that 
>>>> as well. Take a look at the Drill JDBC Storage Plugin because I think 
>>>> that's sort of what it does.  Potentially this could save you a lot of 
>>>> work. 
>>>> 
>>>>> 
>>>>> Also, can you provide a link to the file where it's failing to compile 
>>>>> for you? I was not able to repro this.
>>>> 
>>>> The specific error I am getting is on line 151 in the DruidRecordReader.  
>>>> The error is that writer is a VectorContainerWriter and the required type 
>>>> is a ComplexWriter.
>>>> 
>>>>> 
>>>>> Fyi, I pushed in some changes I was working on recently, still more work 
>>>>> to do on the testing side, though.
>>>> 
>>>> Awesome!
>>>> 
>>>>> 
>>>>> Sincerely,
>>>>> Ankush
>>>>> 
>>>>> On Mon, Jan 20, 2020 at 10:01 PM Charles Givre <cgi...@gmail.com 
>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>> Hi Ankush, 
>>>>> I have a question for you.  I was looking at your plugin and it looks 
>>>>> like you commented out the bit which causes the filter pushdown to 
>>>>> happen.  Is this not working properly?  
>>>>> 
>>>>> Also, I attempted to build it and I got a compilation error in the 
>>>>> RecordReader, line 151.  I corrected the license issues in the test 
>>>>> suite, and pushed that to your branch so hopefully it will pass TravisCI. 
>>>>>  
>>>>> 
>>>>> Best,
>>>>> -- C
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jan 12, 2020, at 10:37 AM, Charles Givre <cgi...@gmail.com 
>>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>>> 
>>>>>> Great to hear!  I'm excited about getting this committed into Drill!
>>>>>> -- C
>>>>>> 
>>>>>>> On Jan 12, 2020, at 9:06 AM, Ankush Kapur <ankush.ka...@gmail.com 
>>>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>>>> 
>>>>>>> Hi Charles,
>>>>>>> 
>>>>>>> Thanks for reaching out. Hope you are having a good 2020 as well.
>>>>>>> 
>>>>>>> Yes, I am actively working on putting together more tests for the druid 
>>>>>>> storage plugin.
>>>>>>> 
>>>>>>> I will have something ready very soon, and also make sure the style 
>>>>>>> guide is followed.
>>>>>>> 
>>>>>>> Will get back soon.
>>>>>>> 
>>>>>>> Have a wonderful day.
>>>>>>> 
>>>>>>> Sincerely,
>>>>>>> Ankush
>>>>>>> 
>>>>>>> On Fri, Jan 10, 2020 at 10:08 AM Charles Givre <cgi...@gmail.com 
>>>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>>>> Hi Ankush, 
>>>>>>> How's it going?  I hope you had a good new year!  I wanted to follow up 
>>>>>>> with you to see if you've had a chance to work on the Druid storage 
>>>>>>> plugin.  I don't mean to be a pest, but I'm excited about this 
>>>>>>> capability and would love to see it integrated into Drill. 
>>>>>>> 
>>>>>>> Regarding unit tests, I'm currently working on an Elasticsearch storage 
>>>>>>> plugin for Drill 
>>>>>>> (https://github.com/cgivre/drill/tree/storage-elastic2/contrib/storage-elastic/src/test/java/org/apache/drill/exec/store/elasticsearch
>>>>>>>  
>>>>>>> <https://github.com/cgivre/drill/tree/storage-elastic2/contrib/storage-elastic/src/test/java/org/apache/drill/exec/store/elasticsearch>)
>>>>>>>  that someone else wrote a few years ago.  I got it to work with ES 5.6 
>>>>>>> and Drill 1.17.  If you want to borrow the unit tests, please feel 
>>>>>>> free.   
>>>>>>> 
>>>>>>> One other thing that I know the reviewers will say is that Drill has a 
>>>>>>> formatter 
>>>>>>> (https://drill.apache.org/docs/apache-drill-contribution-guidelines/ 
>>>>>>> <https://drill.apache.org/docs/apache-drill-contribution-guidelines/>) 
>>>>>>> for source code (spacing, etc.).  Could you please run your code 
>>>>>>> through that to make sure that the style is consistent with Drill?
>>>>>>> 
>>>>>>> If you need any other assistance, please let me know. Thanks!
>>>>>>> -- C
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Dec 15, 2019, at 10:13 PM, Ankush Kapur <ankush.ka...@gmail.com 
>>>>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>>>>> 
>>>>>>>> Hi Charles,
>>>>>>>> 
>>>>>>>> 1. Yes, I was referring the pushing down aggregations to native druid 
>>>>>>>> aggregation queries. Also, DRUID now supports a new flavour of 
>>>>>>>> "SELECT" query called, "SCAN" query, which is expected to be more 
>>>>>>>> memory efficient. But I will leave for another revision.
>>>>>>>> 
>>>>>>>> 2. I will add more unit tests. Also will add integration tests to 
>>>>>>>> exercise the queries.
>>>>>>>> 
>>>>>>>> - Ankush 
>>>>>>>> 
>>>>>>>> On Mon, Dec 9, 2019 at 7:23 PM Charles Givre <cgi...@gmail.com 
>>>>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>>>>> Hi Ankush, 
>>>>>>>> Thanks for the contribution!!  This looks like a great start.  I have 
>>>>>>>> a few questions:
>>>>>>>> 1.  When you say it only supports SELECT queries, what exactly do you 
>>>>>>>> mean here?  Just FYI, most storage plugins are query-only, so most 
>>>>>>>> only support SELECT queries.  If you are referring to pushing down 
>>>>>>>> GROUP BY and the like to the plugin, then I think that is fine to 
>>>>>>>> worry about later ;-). If your plugin works with SELECT queries, Drill 
>>>>>>>> should be able to perform the aggregation after the query has executed.
>>>>>>>> 
>>>>>>>> 2. I saw there is only one file of unit tests.  I know that the first 
>>>>>>>> review comment will be that you need more unit tests.  Please take a 
>>>>>>>> look at the other plugins and see what kind of unit tests they have.  
>>>>>>>> At a minimum, I would expect to see some query tests.  I'm wondering 
>>>>>>>> though, what is the best way to test this?
>>>>>>>> 
>>>>>>>> Best,
>>>>>>>> -- C
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Dec 8, 2019, at 5:36 PM, Ankush Kapur <ankush.ka...@gmail.com 
>>>>>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Charles,
>>>>>>>>> 
>>>>>>>>> Apologies for the late reply. Been some crazy times here.
>>>>>>>>> 
>>>>>>>>> I had the plugin working again and it supports the select 
>>>>>>>>> queries(https://druid.apache.org/docs/latest/querying/select-query.html
>>>>>>>>>  <https://druid.apache.org/docs/latest/querying/select-query.html>).
>>>>>>>>> https://github.com/apache/drill/pull/1888 
>>>>>>>>> <https://github.com/apache/drill/pull/1888>
>>>>>>>>> 
>>>>>>>>> Let me know if this is good for an MVP.
>>>>>>>>> 
>>>>>>>>> People at DRUID now support a lot more rich queries(Scan, 
>>>>>>>>> Aggregations, SQL syntax) since I first wrote the plugin. So I am 
>>>>>>>>> thinking future changes would be required, which I would love to work 
>>>>>>>>> on, iteratively.
>>>>>>>>> 
>>>>>>>>> Let me know if this works for you.
>>>>>>>>> 
>>>>>>>>> Sincerely,
>>>>>>>>> Ankush
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Tue, Dec 3, 2019 at 11:38 AM Charles Givre <cgi...@gmail.com 
>>>>>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>>>>>> Hi Ankush, 
>>>>>>>>> How's it going?  I thought I'd check in with you to see how the 
>>>>>>>>> plugin is coming and if you've made any progress? There is currently 
>>>>>>>>> a change freeze because we're getting ready to release Drill 1.17, 
>>>>>>>>> but I'd really love to see this get committed for version 1.18.  If 
>>>>>>>>> you're stuck or need assistance, please let me know.  
>>>>>>>>> Thanks!
>>>>>>>>> -- C
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Nov 1, 2019, at 3:26 PM, Ankush Kapur <ankush.ka...@gmail.com 
>>>>>>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi Charles,
>>>>>>>>>> 
>>>>>>>>>> I just started a draft PR for this work. 
>>>>>>>>>> https://github.com/apache/drill/pull/1888 
>>>>>>>>>> <https://github.com/apache/drill/pull/1888>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Sincerely,
>>>>>>>>>> Ankush
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Sat, Oct 12, 2019 at 3:30 PM Ankush Kapur <ankush.ka...@gmail.com 
>>>>>>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>>>>>>> Hi Charles,
>>>>>>>>>> 
>>>>>>>>>> I apologize for such a late reply. I have been caught up with 
>>>>>>>>>> product releases at work.
>>>>>>>>>> 
>>>>>>>>>> I will begin working on the PR. Hopefully, it should not be too long.
>>>>>>>>>> 
>>>>>>>>>> Hope you have a wonderful weekend.
>>>>>>>>>> 
>>>>>>>>>> Sincerely,
>>>>>>>>>> Ankush
>>>>>>>>>> 
>>>>>>>>>> On Thu, Sep 19, 2019 at 10:16 AM Charles Givre <cgi...@gmail.com 
>>>>>>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>>>>>>> Hi Ankush, 
>>>>>>>>>> Thanks for getting back with me!  I'm really glad you're open to 
>>>>>>>>>> contributing this to Drill!   I'm also really impressed that you 
>>>>>>>>>> were able to do this at all.  Writing storage plugins is extremely 
>>>>>>>>>> difficult, especially given the lack of documentation, and that you 
>>>>>>>>>> have to have a really good understanding of both Druid and Drill's 
>>>>>>>>>> internals.   So my hat's off to you!  
>>>>>>>>>> Anyway, I had a look at our JIRA board and it turns out that there 
>>>>>>>>>> is an open JIRA for a Drill/Druid integration: 
>>>>>>>>>> https://issues.apache.org/jira/browse/DRILL-5956 
>>>>>>>>>> <https://issues.apache.org/jira/browse/DRILL-5956>
>>>>>>>>>> 
>>>>>>>>>> When you're ready to do so, please create a pull request on the 
>>>>>>>>>> Drill github repo with the title:  Drill-5956: Add Storage Plugin 
>>>>>>>>>> for Druid and add me as a reviewer.   Thank you very much!!
>>>>>>>>>> Best,
>>>>>>>>>> -- C
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Sep 17, 2019, at 5:23 PM, Ankush Kapur <ankush.ka...@gmail.com 
>>>>>>>>>>> <mailto:ankush.ka...@gmail.com>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hi Charles,
>>>>>>>>>>> 
>>>>>>>>>>> I am good, thanks for asking. Hope the same for you.
>>>>>>>>>>> 
>>>>>>>>>>> Yes, I would be happy to submit a pr. However. It will take 
>>>>>>>>>>> sometime to get it in shape. The druid connector is a couple of 
>>>>>>>>>>> years old now.
>>>>>>>>>>> 
>>>>>>>>>>> - Ankush
>>>>>>>>>>> 
>>>>>>>>>>> On Tue, Sep 17, 2019, 2:27 PM Charles Givre <cgi...@gmail.com 
>>>>>>>>>>> <mailto:cgi...@gmail.com>> wrote:
>>>>>>>>>>> Hi Ankush, 
>>>>>>>>>>> I hope all is well.  I'm the PMC chair for Apache Drill and I I saw 
>>>>>>>>>>> your Druid plugin on github.  I wanted to ask if you would consider 
>>>>>>>>>>> contributing that to Drill and submitting a pull request.  I'm 
>>>>>>>>>>> happy to help with the review process. 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> -- Charles
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to