← Back to team overview

maria-developers team mailing list archive

GSoC NUMA Evaluation Student failed Mail 2

 

Hello,

I am not aware of what information regarding this project has been
exchanged between my mentor Daniel Black and others including serg, so I am
sharing this here for everyone to see. My last mail contains the
conversations I had with my mentors.

Some quotes from the final evaluation -

"Your questions in the last week have been exceptionally keen even though
these seem to be the same questions from 1-2 months ago"
Remind me when you (Daniel Black) answered them.

"Sumit, overall we are happy with the quality of work. Unfortunately the
quantity of work showed a lack of putting in hours and limited test cases
fell short of the project plan and organisational expectations"

What limited test cases ? I wrote all the test cases you (Daniel Black) and
JAN Lindstrom asked me to write. Which test case did I miss ? I even ran a
bench-marking test with all possible values and sent you the results.
However, testing the actual performance difference is something that can
only be done in a real NUMA Machine. Sorry, I don't have that. And have you
ever even tested my code in a real NUMA Machine ? I too deserve to know if
my work has made any real difference on the machine it is supposed to work
on. And I have asked you to run it on a real machine more than once over
the past months.

You are happy with the quality of the work. Good. You are unhappy with the
quantity. How do you expect me to increase the quantity when I already
completed the tasks I promised in my GSoC proposal except for those that
you removed from the list. What project plan are you referring to ?

My GSoC proposal -
https://docs.google.com/document/d/1UbOQysgOOzCM7z5FPC7gmuCpyxPmB7RGg7y9OgqeB1A/edit?usp=sharing

Tasks spreadsheet -
https://docs.google.com/spreadsheets/d/1nE-qFXhwwhF0hpOX3wUlczPjlPZTK_UzBu_PyrEF4Fw/edit#gid=0

The tasks can be categorised as follows.

[1] The tasks mentioned in my GSoC proposal which were not removed /
changed later. - I completed all these.
[2] The tasks mentioned in my GSoC proposal which were crossed out / (under
consideration to be dropped / unnecessary) / or were implemented
differently. - I either did not complete these for obvious reasons or
implemented some of them differently.
[3] The tasks you added (in the last month) to the spreadsheet originally
under the title 'Out of Time' in the last month. - I completed some of
these too.

Then when these were done you moved a task (the queue per node task) from
the 'Out of Time' to the third month group. We both agreed it was an
important part for the completion of the project and I tried my best to
implement it. I spent days trying to figure it out, asked you for help,
didn't get any, tried again and yet failed because I am no expert of either
InnoDB or SQl side of MariaDB.

Which organisational expectations did you ask me to fulfil ? When ?

I don't remember ever being told about any organisational expectations.
Perhaps these were your personal expectations of having a complete NUMA
Support in MariaDB by the end of GSoC. If so, then I am really sorry I
wasn't able to fulfill those expectations because I got stuck at an
important part of the project which also was a seemingly impossible task to
do and *YOU FAILED TO HELP ME* with it even though I repeatedly asked
(begged actually) you for help. You just kept reminding me that to do the
task was my job.
That's some real good mentoring right there.

Another quote from the final evaluation

"Passing to get your continued work isn't honoring the rules of the project
or being fair to Google"
Yeah, How about showing some good mentor ship by helping me to complete the
project while we had the time to do it within Google's timelines in stead.
Oh! wait a sec... you never went through the code.. until 3-4 days ago. I
was determined to complete it if you had helped me. I have been mentioning
it in all mails since the mail I wrote to you and Jan on :

22nd Aug - "Last but not least, if you think it can still be done and have
a idea, I will be more than willing to attempt it. After all, GSoC has only
got me started to contribute to open-source and this evaluation won't be
the end of it."

25th Aug - "I am sorry I am unable to create an implementation. It's not
like I don't want to. I just can't completely understand how it has been
implemented currently. I have tried to follow the code before, and I did
again the whole day today, but I can't come up with an idea at all."

25th Aug - "Like I said, I am not unwilling to complete this task. But I
can't even think of where to start. Since, the two of you have greater
experience with InnoDB, maybe you should give it a shot. You will
definitely understand the present structure better than I do. And if you
can come up with even a verbal solution that sounds like it could work, I
will implement it asap."

25th Aug - "I spent all day trying to think of any way to implement a
queue-per-node thing, and I confess I failed to come up with one. So, in
stead of spending more time on that, I will work on migrating these commits
to a new branch today. And I also urge you to give this task a try
yourselves."

25th Aug - " I haven't been able to implement the queue per node structure
for background threads, and I am afraid I won't be able to do it without
your help. It is beyond me. I gave it a few attempts and I have failed.
It's not the implementation part but the 'coming up with a way to implement
it' part that I haven't been able to figure out yet. I need you to know
that I am trying my best here."

25th Aug - "But anyway I kindly request you two to try it out yourselves
now. You don't have to do the work. I just urge you to take some time out
this weekend and go through the code. Let me know how you think it may be
possible to implement it. I will do it. I have 4 days 2 hrs before the
deadline to submit the evaluation, ends. If you can come up with an
implementation plan within the next 2 or 2.5 days, I assure you I will code
the implementation within a day of that and probably commit it before
submitting the final evaluation as well. I am willing to take this risk."

On Aug 28th you wrote a mail and asked me "Knowing what plans you had and
how they failed would have been good to know." So, on the same day I wrote
you a mail with a detailed explanation of the attempts I had made in trying
to complete the task, asking you again to try it yourself and help me if
you could come up with an idea. You never did.

31st Aug http://marialog.archivist.info/2017-08-31.txt
Me - "did you have an attempt at the task ? come up with any ideas yet ?"
dragonheart - been a bit busy with my own work so far. I know I'm going to
have to look at a lot of stuff to finish the final GSoC evaluation

4th Sept http://marialog.archivist.info/2017-09-04.txt
Me - "You must have seen my mails. Did you have an attempt at the queue per
node thing ? Any ideas ?"
dragonheart - well, implementing it was your task. but no, haven't found
the hours to look though the code again.

As per our conversation on IRC clearly Daniel Black hadn't even gone
through the code by 4th Sept or attempted to solve the problem. How did he
hope to complete the final evaluation. Even if he went through the code a
day before submitting his evaluation, isn't this too late for a mentor to
go through his/her student's code.

Here is a list of some questions I would like MariaDB staff to ponder upon
especially serg.

[1] Was the task doable at all ?
[A] Not unless you are an expert of both the SQL side and the InnoDB side,
expert enough to re-write a major part of the interfaace between them. Jan
himself acknowledged he wouldn't be able to help me with this, because he
has no experience with the interface. I really appreciate that.

[2] Even if the task was doable by a team of SQL and InnoDB experts, was it
doable by an individual student working on MariaDB for the past four months
?
[A] Nope.

[3] Why didn't Daniel Black help me with the task even when I clearly
mentioned I would need help with the task weeks ago ?
[A] ???

[4] Did my mentor Daniel Black even try to help me with this particular
task ? Ever ?
[A] Nope.

[5] Did Daniel Black evaluate me on the basis of the number of commits or
the tasks accomplished by those commits ?
[A] Based on the evaluation, he clearly has been unhappy with the decreased
number of commits, not the content, as all the tasks mentioned in the
original proposal have been achieved along with a few more.

[6] Can Daniel Black himself complete this task, and thus the project ?
[A] I bet not.

No doubt the project is incomplete because it involves doing a task that is
nearly impossible to do, at least for me, especially without any help. But
does GSoC means that the student has to necessarily complete the entire
project. I have gone through the code submitting guidelines plenty of
times. It clearly states that we must state which tasks were done, and
which tasks remain. Obviously not all projects are complete, some only
complete the project partially, but mention everything and continue working
on them. I did the same, and mentioned in my evaluation that almost all
tasks were complete, in stead of all, and I have always been willing to
complete this project but man, I can't do something impossible, especially
when the people I am supposed to ask for help themselves fail to help their
students.

Thanks,
Sumit