Todd Lipcon has posted comments on this change.

Change subject: Implement kudu::optional replacement for boost::optional

Patch Set 1:

> This is meant to completely replace our usage of boost::optional so it should 
> be net zero in terms of new code used vs. old code dropped, or even net 
> negative given that I don't think Mike reimplemented all of boost::optional. 
> Besides, you've been open to incorporating Chromium code in the past to 
> replace boost usage (e.g. Chromium callback/bind). Is this terribly different?

Well, the call sites are going to stay the same, but we're taking on a few 
hundred lines of this complicated C++ stuff that we had to write ourselves (and 
thus has a higher chance of bugs vs code taken from a mature project like 
Chromium). Callback/Bind specifically also supported the chromium refptrs which 
don't work so well with boost::bind (though if we decided to move towards 
shared_ptr and std::bind in the future I think that could be good).

The other cases where we have re-implemented something like this are primarily 
in synchronization where the benefit has been improved 
instrumentation/debuggability (like tracing integration for mutex acquisition 
time). I don't see any such possibilities with something like optional.

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib80c35cc9a4712572f85eeb7717e17869cd5e081
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Mike Percy <>
Gerrit-Reviewer: Adar Dembo <>
Gerrit-Reviewer: Dan Burkert <>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <>
Gerrit-Reviewer: Todd Lipcon <>
Gerrit-HasComments: No

Reply via email to