persistent icon indicating copy to clipboard operation
persistent copied to clipboard

vacuum-persistent

Open tomaskulich opened this issue 10 years ago • 26 comments

tomaskulich avatar Feb 23 '15 10:02 tomaskulich

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for the commit author(s). If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.

googlebot avatar Feb 23 '15 10:02 googlebot

@tomaskulich thank you for this even more impressive PR :) As discussed on #7, please let me know when everyone has signed the CLA. As you can see, there's also now a googlebot tracking this.

polux avatar Feb 23 '15 11:02 polux

@polux all relevant people have signed the CLA. Also, feel free to change / refactor / discuss anything.

tomaskulich avatar Mar 04 '15 16:03 tomaskulich

We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm.

googlebot avatar Mar 04 '15 16:03 googlebot

Hm, googlebot doesn't seem happy with the CLAs :) I'm not sure, what to do about it.

tomaskulich avatar Mar 04 '15 16:03 tomaskulich

Thank you! I'll check manually that everyone as signed the CLA then. It'll take me some time to merge the PR as there are apparently merge conflicts, but I'll do it ASAP. Thanks again!

polux avatar Mar 05 '15 08:03 polux

(Still working this out, I haven't forgotten.)

polux avatar Mar 23 '15 14:03 polux

@tomaskulich we're trying to understand why googlebot rejects the PR and would need you to ping this thread to trigger it again while we monitor it. Could you please ping this thread when you get a chance? Sorry for the inconvenience.

polux avatar Mar 23 '15 14:03 polux

ping

tomaskulich avatar Mar 23 '15 15:03 tomaskulich

@tomaskulich I just go an explanation from the googlebot team: since you opened the PR it's clear that you're ok with this code being contributed to Google. But even if your co-authors have signed the CLA, there's no way of knowing they're ok with this particular code being contributed to Google. They might have signed the CLA for an unrelated project. There is no way for googlebot to know they're ok even if we do.

@syslo, @matystl, @jurom, @brandys11, @black3r can you please +1 this thread or say "I agree" or something like that?

Even after I get all the +1s googlebot won't mark the PR as successful because it can't parse "any form of agreement", but I will know it's ok to merge.

Thank you again for this huge pull request!

polux avatar Mar 23 '15 16:03 polux

+1 and "I agree" not realy sure what +1 means so hope comment like this is enough

matystl avatar Mar 23 '15 17:03 matystl

"I agree", +1, and I'm ok with this particular code being contributed to Google. I hope this statement is sufficient.

jurom avatar Mar 23 '15 21:03 jurom

Thanks guys, "+1" is enough, "I agree" is enough too. So what you wrote is plenty enough :)

polux avatar Mar 24 '15 09:03 polux

I agree

syslo avatar Mar 24 '15 10:03 syslo

+1

black3r avatar Mar 24 '15 10:03 black3r

Thank you all! @brandys11: friendly ping.

polux avatar Mar 25 '15 14:03 polux

+1

brandys11 avatar Mar 25 '15 22:03 brandys11

Yay! Thank you all again for this amazing pull request! It apparently has conflicts so it'll take me some time to merge but I'll make sure to do it. My plan is to basically release a version 1 which is your version 2.

polux avatar Mar 26 '15 09:03 polux

@polux Hi, how is it going? Did you have a chance to go through the PR?

tomaskulich avatar May 16 '15 11:05 tomaskulich

Hi, I've started looking at it but I've had a lot of work recently and it's a big PR :) My intent though is to discuss a few design points with you and then make it the basis for version 1 of the library.

Here's a first question: did you chose to define

V get(K key, [V notFound])

instead of

V get(K key, [V notFound()])

on purpose? I would have gone for the latter but I can imagine that someone would find it overkill. Did you give it some thought and then chose the latter or did you just pick the former without considering the alternatives? In that case, would you think it makes sens to change it?

polux avatar May 18 '15 11:05 polux

Hi, we were discussing both of the alternatives. I agree that the second alternative gives you more power, but its questionable, whether it's worth the cost. The two use-cases which come to my mind are:

Use case 1: Obtaining the notFound value takes a long time, i.e.

cache.get('key', timeConsumingOperationToGetValue) 

seems more reasonable than

cache.get('key', timeConsumingOperationToGetValue())

Use case 2: Obtaining notFound value may fail, if key is already present in the map. In such a (rare) case:

map.get('key', mayFailWhenMapContainsKey)

will be safe although

map.get('key', mayFailWhenMapContainsKey())

won't.

We consider these use-cases as quite unimportant (you can always use a workaround with setting notFound to null / none / whatever and then calculate the alternative value explicitly) and not worth the additional typing.

tomaskulich avatar May 18 '15 12:05 tomaskulich

@polux Please let me know, if there is anything else, I can explain. There are a few weird issues (hopefully, they are properly commented) in the code, mostly because we tried to tune the performance and this comes at some cost.

tomaskulich avatar May 18 '15 12:05 tomaskulich

@polux I realized, that some parts of the code must be really hard to understand without 'bigger picture' of how the implementation work. I wrote technical documentation (in separate file, just commenting the code felt strange) explaining a few things, maybe you'll find it useful.

tomaskulich avatar May 20 '15 14:05 tomaskulich

Awesome, thanks!

polux avatar May 20 '15 14:05 polux

Hey guys, just wanted to express interest in a consolidated persistent 1.0 :) Thanks for working on this.

tosh avatar Dec 10 '15 15:12 tosh

I haven'y forgotten about this but this PR is huge and:

  • it has merge conflicts
  • it has some breaking changes (return type of lookup for instance)

I need a large chunk of time to work on merging it, maybe my next vacation...

polux avatar Dec 10 '15 15:12 polux