Hi,

Sorry about that bernd! :s/ben/bernd/g

-- ankur
Sent from my iPhone

> On Nov 4, 2014, at 3:13 AM, Bernd Mathiske <be...@mesosphere.io> wrote:
> 
> Hi Ankur, 
> 
> I am Bernd, not Ben, but I’ll try to do my best :-)
> 
> Your plan looks good to me and your patch for MESOS-1711 seems uncomplicated 
> enough to not cause me major problems no matter when it lands. 
> 
> Bernd
> 
>> On Nov 4, 2014, at 11:44 AM, Ankur Chauhan <an...@malloc64.com> wrote:
>> 
>> Hi ben,
>> 
>> Thanks for the follow up. I think thats a perfectly fine game plan. I think 
>> I can break down things into smaller, more isolated chunks. But from the 
>> looks of MESOS-1316 the invocation code and the testing code seems to change 
>> a lot (in a good way), so to avoid a bunch of wasted cycles, I was going to 
>> hold off a little till it is committed and then go on to refactoring the 
>> transport parts. The json config change (MESOS-1248) is completely 
>> disconnected to this so I am not too worried about that one.
>> The only place where some coordination may be required is the 
>> launcher/fetcher.cpp. It seems there are common changes happening between my 
>>  change https://reviews.apache.org/r/27483/ 
>> <https://reviews.apache.org/r/27483/><https://reviews.apache.org/r/27483/ 
>> <https://reviews.apache.org/r/27483/>> and your 
>> https://reviews.apache.org/r/21316 
>> <https://reviews.apache.org/r/21316><https://reviews.apache.org/r/21316 
>> <https://reviews.apache.org/r/21316>> which would mean a little rework but 
>> it's totally within reasonable limits.
>> I think if you get the MESOS-1316 committed and I get MESOS-1711 ( 
>> https://reviews.apache.org/r/27483 <https://reviews.apache.org/r/27483> 
>> <https://reviews.apache.org/r/27483 <https://reviews.apache.org/r/27483>> ) 
>> in, both of us would get unblocked in a way that we can get a way that lets 
>> us concurrently work on MESOS-336 and refactoring fetcher into more testable 
>> parts.
>> 
>> Does this make sense to you or did I misunderstand some part?
>> 
>> -- Ankur
>> 
>>> On 4 Nov 2014, at 02:05, Bernd Mathiske <be...@mesosphere.io 
>>> <mailto:be...@mesosphere.io>> wrote:
>>> 
>>> Typo: not -> note
>>> 
>>>> On Nov 4, 2014, at 10:59 AM, Bernd Mathiske <be...@mesosphere.io 
>>>> <mailto:be...@mesosphere.io>> wrote:
>>>> 
>>>> Hi Ankur,
>>>> 
>>>> I like it, too. However, I cannot refrain from relaying (not my choice of 
>>>> word here) to you the advice to break your relatively large patch down 
>>>> into smaller parts. My patch for MESOS-336 certainly was, as I know now. 
>>>> My plan is to get MESOS-1316 (which is now under review) and MESOS-1248 
>>>> (which should be quick) committed and then rebase MESOS-336 in smaller 
>>>> pieces. If you have small pieces, too, I do think we can do this somewhat 
>>>> concurrently, as your refactoring seems to affect mostly how the transport 
>>>> part works. I am on the other hand mostly interested in the bookkeeping of 
>>>> what is in progress, what succeeded, what failed, what has been put where, 
>>>> and so on, which can be separated, if we are careful about it.
>>>> 
>>>> (BTW, I think we need both unit tests and integration tests. And we don’t 
>>>> have nearly enough of either.)
>>>> 
>>>> Bernd
>>>> 
>>>>> On Nov 3, 2014, at 6:18 PM, Adam Bordelon <a...@mesosphere.io 
>>>>> <mailto:a...@mesosphere.io><mailto:a...@mesosphere.io 
>>>>> <mailto:a...@mesosphere.io>>> wrote:
>>>>> 
>>>>> + Bernd, who has done some fetcher work, including additional testing, 
>>>>> for MESOS-1316, MESOS-1945, and MESOS-336
>>>>> 
>>>>> On Mon, Nov 3, 2014 at 9:04 AM, Dominic Hamon <dha...@twopensource.com 
>>>>> <mailto:dha...@twopensource.com><mailto:dha...@twopensource.com 
>>>>> <mailto:dha...@twopensource.com>>> wrote:
>>>>> Hi Ankur
>>>>> 
>>>>> I think this is a great approach. It makes the code much simpler, 
>>>>> extensible, and more testable. Anyone that's heard me rant knows I am a 
>>>>> big fan of unit tests over integration tests, so this shouldn't surprise 
>>>>> anyone :)
>>>>> 
>>>>> If you haven't already, please read the documentation on contributing to 
>>>>> Mesos and the style guide to ensure all the naming is as expected, then 
>>>>> you can push the patch to reviewboard to get it reviewed and committed.
>>>>> 
>>>>> On Mon, Nov 3, 2014 at 12:49 AM, Ankur Chauhan <an...@malloc64.com 
>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>> Hi,
>>>>> 
>>>>> I did some learning today! This is pretty much a very rough draft of the 
>>>>> tests/refactor of mesos-fetcher that I have come up with. Again, If there 
>>>>> are some obvious mistakes, please let me know. (this is my first pass 
>>>>> after all).
>>>>> https://github.com/ankurcha/mesos/compare/prefer_2 
>>>>> <https://github.com/ankurcha/mesos/compare/prefer_2><https://github.com/ankurcha/mesos/compare/prefer_2
>>>>>  <https://github.com/ankurcha/mesos/compare/prefer_2>>
>>>>> 
>>>>> My main intention is to break the logic of the fetcher info some very 
>>>>> discrete components that i can write tests against. I am still 
>>>>> re-learning cpp/mesos code styles etc so I may be a little slow to catch 
>>>>> up but I would really appreciate any comments and/or suggestions.
>>>>> 
>>>>> -- Ankur
>>>>> @ankurcha
>>>>> 
>>>>>> On 2 Nov 2014, at 18:17, Ankur Chauhan <an...@malloc64.com 
>>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> I noticed that the current set of tests in `src/tests/fetcher_tests.cpp` 
>>>>>> is pretty coarse grained and are more on the lines of a functional test. 
>>>>>> I was going to add some tests but it seems like if I am to do that I 
>>>>>> would need to add a test dependency on hadoop. 
>>>>>> 
>>>>>> As an alternative, I propose adding a good set of unit tests around the 
>>>>>> methods used by `src/launcher/fetcher.cpp` and `src/hdfs/hdfs.cpp`. This 
>>>>>> should be able to catch a good portion of cases at the same time keeping 
>>>>>> the dependencies and runtime of tests low. What do you guys thing about 
>>>>>> this?
>>>>>> 
>>>>>> PS: I am pretty green in terms of gtest and the overall c++ testing 
>>>>>> methodology. Can someone give me pointers to good examples of tests in 
>>>>>> the codebase.
>>>>>> 
>>>>>> -- Ankur
>>>>>> 
>>>>>>> On 1 Nov 2014, at 22:54, Adam Bordelon <a...@mesosphere.io 
>>>>>>> <mailto:a...@mesosphere.io><mailto:a...@mesosphere.io 
>>>>>>> <mailto:a...@mesosphere.io>>> wrote:
>>>>>>> 
>>>>>>> Thank you Ankur. At first glance, it looks great. We'll do a more 
>>>>>>> thorough review of it very soon.
>>>>>>> I know Tim St. Clair had some ideas for fixing MESOS-1711 
>>>>>>> <https://issues.apache.org/jira/browse/MESOS-1711 
>>>>>>> <https://issues.apache.org/jira/browse/MESOS-1711>>; he may want to 
>>>>>>> review too.
>>>>>>> 
>>>>>>> On Sat, Nov 1, 2014 at 8:49 PM, Ankur Chauhan <an...@malloc64.com 
>>>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>>>> Hi Tim,
>>>>>>> 
>>>>>>> I just created a review https://reviews.apache.org/r/27483/ 
>>>>>>> <https://reviews.apache.org/r/27483/><https://reviews.apache.org/r/27483/
>>>>>>>  <https://reviews.apache.org/r/27483/>> It's my first stab at it and I 
>>>>>>> will try to add more tests as I figure out how to do the hadoop mocking 
>>>>>>> and stuff. Have a look and let me know what you think about it so far.
>>>>>>> 
>>>>>>> -- Ankur
>>>>>>> 
>>>>>>>> On 1 Nov 2014, at 20:05, Ankur Chauhan <an...@malloc64.com 
>>>>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>>>>> 
>>>>>>>> Yea, i saw that the minute i pressed send. I'll start the review board 
>>>>>>>> so that people can have a look at the change.
>>>>>>>> 
>>>>>>>> -- Ankur
>>>>>>>> 
>>>>>>>>> On 1 Nov 2014, at 20:01, Tim Chen <t...@mesosphere.io 
>>>>>>>>> <mailto:t...@mesosphere.io><mailto:t...@mesosphere.io 
>>>>>>>>> <mailto:t...@mesosphere.io>>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Ankur,
>>>>>>>>> 
>>>>>>>>> There is a fetcher_tests.cpp in src/tests.
>>>>>>>>> 
>>>>>>>>> Tim
>>>>>>>>> 
>>>>>>>>> On Sat, Nov 1, 2014 at 7:27 PM, Ankur Chauhan <an...@malloc64.com 
>>>>>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>>>>>> Hi Tim,
>>>>>>>>> 
>>>>>>>>> I am trying to find/write some test cases. I couldn't find a 
>>>>>>>>> fetcher_tests.{cpp|hpp} so once I have something, I'll post on review 
>>>>>>>>> board. I am new to gmock/gtest so bear with me while i get up to 
>>>>>>>>> speed.
>>>>>>>>> 
>>>>>>>>> -- Ankur
>>>>>>>>> 
>>>>>>>>>> On 1 Nov 2014, at 19:23, Timothy Chen <t...@mesosphere.io 
>>>>>>>>>> <mailto:t...@mesosphere.io><mailto:t...@mesosphere.io 
>>>>>>>>>> <mailto:t...@mesosphere.io>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi Ankur,
>>>>>>>>>> 
>>>>>>>>>> Can you post on reviewboard? We can discuss more about the code 
>>>>>>>>>> there.
>>>>>>>>>> 
>>>>>>>>>> Tim
>>>>>>>>>> 
>>>>>>>>>> Sent from my iPhone
>>>>>>>>>> 
>>>>>>>>>>> On Nov 1, 2014, at 6:29 PM, Ankur Chauhan <an...@malloc64.com 
>>>>>>>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>>>>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hi Tim,
>>>>>>>>>>> 
>>>>>>>>>>> I don't think there is an issue which is directly in line with what 
>>>>>>>>>>> i wanted but the closest one that I could find in JIRA is 
>>>>>>>>>>> https://issues.apache.org/jira/browse/MESOS-1711 
>>>>>>>>>>> <https://issues.apache.org/jira/browse/MESOS-1711><https://issues.apache.org/jira/browse/MESOS-1711
>>>>>>>>>>>  <https://issues.apache.org/jira/browse/MESOS-1711>>
>>>>>>>>>>> 
>>>>>>>>>>> I have a branch ( 
>>>>>>>>>>> https://github.com/ankurcha/mesos/compare/prefer_hadoop_fetcher 
>>>>>>>>>>> <https://github.com/ankurcha/mesos/compare/prefer_hadoop_fetcher><https://github.com/ankurcha/mesos/compare/prefer_hadoop_fetcher
>>>>>>>>>>>  <https://github.com/ankurcha/mesos/compare/prefer_hadoop_fetcher>> 
>>>>>>>>>>> ) that has a change that would enable users to specify whatever 
>>>>>>>>>>> hdfs compatible uris to the mesos-fetcher but maybe you can weight 
>>>>>>>>>>> in on it. Do you think this is the right track? if so, i would like 
>>>>>>>>>>> to pick this issue and submit a patch for review.
>>>>>>>>>>> 
>>>>>>>>>>> -- Ankur
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On 1 Nov 2014, at 04:32, Tom Arnfeld <t...@duedil.com 
>>>>>>>>>>>> <mailto:t...@duedil.com><mailto:t...@duedil.com 
>>>>>>>>>>>> <mailto:t...@duedil.com>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Completely +1 to this. There are now quite a lot of hadoop 
>>>>>>>>>>>> compatible filesystem wrappers out in the wild and this would 
>>>>>>>>>>>> certainly be very useful.
>>>>>>>>>>>> 
>>>>>>>>>>>> I'm happy to contribute a patch. Here's a few related issues that 
>>>>>>>>>>>> might be of interest;
>>>>>>>>>>>> 
>>>>>>>>>>>> - https://issues.apache.org/jira/browse/MESOS-1887 
>>>>>>>>>>>> <https://issues.apache.org/jira/browse/MESOS-1887><https://issues.apache.org/jira/browse/MESOS-1887
>>>>>>>>>>>>  <https://issues.apache.org/jira/browse/MESOS-1887>>
>>>>>>>>>>>> - https://issues.apache.org/jira/browse/MESOS-1316 
>>>>>>>>>>>> <https://issues.apache.org/jira/browse/MESOS-1316><https://issues.apache.org/jira/browse/MESOS-1316
>>>>>>>>>>>>  <https://issues.apache.org/jira/browse/MESOS-1316>>
>>>>>>>>>>>> - https://issues.apache.org/jira/browse/MESOS-336 
>>>>>>>>>>>> <https://issues.apache.org/jira/browse/MESOS-336><https://issues.apache.org/jira/browse/MESOS-336
>>>>>>>>>>>>  <https://issues.apache.org/jira/browse/MESOS-336>>
>>>>>>>>>>>> - https://issues.apache.org/jira/browse/MESOS-1248 
>>>>>>>>>>>> <https://issues.apache.org/jira/browse/MESOS-1248><https://issues.apache.org/jira/browse/MESOS-1248
>>>>>>>>>>>>  <https://issues.apache.org/jira/browse/MESOS-1248>>
>>>>>>>>>>>> 
>>>>>>>>>>>> On 31 October 2014 22:39, Tim Chen <t...@mesosphere.io 
>>>>>>>>>>>> <mailto:t...@mesosphere.io><mailto:t...@mesosphere.io 
>>>>>>>>>>>> <mailto:t...@mesosphere.io>>> wrote:
>>>>>>>>>>>> I believe there is already a JIRA ticket for this, if you search 
>>>>>>>>>>>> for fetcher in Mesos JIRA I think you can find it.
>>>>>>>>>>>> 
>>>>>>>>>>>> Tim
>>>>>>>>>>>> 
>>>>>>>>>>>> On Fri, Oct 31, 2014 at 3:27 PM, Ankur Chauhan <an...@malloc64.com 
>>>>>>>>>>>> <mailto:an...@malloc64.com><mailto:an...@malloc64.com 
>>>>>>>>>>>> <mailto:an...@malloc64.com>>> wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>> 
>>>>>>>>>>>> I have been looking at some of the stuff around the fetcher and 
>>>>>>>>>>>> saw something interesting. The code for fetcher::fetch method is 
>>>>>>>>>>>> dependent on a hard coded list of url schemes. No doubt that this 
>>>>>>>>>>>> works but is very restrictive.
>>>>>>>>>>>> Hadoop/HDFS in general is pretty flexible when it comes to being 
>>>>>>>>>>>> able to fetch stuff from urls and has the ability to fetch a large 
>>>>>>>>>>>> number of types of urls and can be extended by adding 
>>>>>>>>>>>> configuration into the conf/hdfs-site.xml and core-site.xml
>>>>>>>>>>>> 
>>>>>>>>>>>> What I am proposing is that we refactor the fetcher.cpp to prefer 
>>>>>>>>>>>> to use the hdfs (using hdfs/hdfs.hpp) to do all the fetching if 
>>>>>>>>>>>> HADOOP_HOME is set and $HADOOP_HOME/bin/hadoop is available. This 
>>>>>>>>>>>> logic already exists and we can just use it. The fallback logic 
>>>>>>>>>>>> for using net::download or local file copy is may be left in place 
>>>>>>>>>>>> for installations that do not have hadoop configured. This means 
>>>>>>>>>>>> that if hadoop is present we can directly fetch urls such as 
>>>>>>>>>>>> tachyon://... snackfs:// ... cfs:// .... ftp://... s3://... 
>>>>>>>>>>>> http:// ... file:// with no extra effort. This makes up for a much 
>>>>>>>>>>>> better experience when it comes to debugging and extensibility.
>>>>>>>>>>>> 
>>>>>>>>>>>> What do others think about this?
>>>>>>>>>>>> 
>>>>>>>>>>>> - Ankur
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Dominic Hamon | @mrdo | Twitter
>>>>> There are no bad ideas; only good ideas that go horribly wrong.
> 

Reply via email to