Re: Review Request 36677: Introduced 'recordio' encoding facilities to stout.

2015-07-24 Thread Benjamin Hindman


 On July 23, 2015, 11:52 p.m., Benjamin Hindman wrote:
  3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp, line 32
  https://reviews.apache.org/r/36677/diff/3/?file=1019202#file1019202line32
 
  Why not add these to try.hpp like we did with Option?
 
 Ben Mahler wrote:
 Decided to punt because I'm not sure whether equality should include the 
 error message equality, thoughts?

Hmm, good question. I might start by not testing for error message equality to 
deter that use case, and see if it becomes necessary later. Either way, a 
comment above these operators as to why we're keeping them here instead of 
pulling them to try.hpp would be very helpful for a future code reader!


- Benjamin


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36677/#review92812
---


On July 22, 2015, 11:24 p.m., Ben Mahler wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36677/
 ---
 
 (Updated July 22, 2015, 11:24 p.m.)
 
 
 Review request for mesos, Anand Mazumdar, Benjamin Hindman, and Jie Yu.
 
 
 Bugs: MESOS-3067
 https://issues.apache.org/jira/browse/MESOS-3067
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Note that most Record-IO encodings are used for file I/O
 and consequently use a fixed-size header to encode the record
 length. However, decoding a base-10 integer is more
 straightforward to implement in most languages, and so this
 was chosen instead. (Note that the Twitter streaming API
 uses the same technique for portability).
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
 2394b95462182273464f0847f416ad83c3b64485 
   3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp 
 8c75f6b28c18596018eaefe427b238424aae2fd9 
   3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp PRE-CREATION 
   3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/36677/diff/
 
 
 Testing
 ---
 
 Added tests.
 
 
 Thanks,
 
 Ben Mahler
 




Re: Review Request 36677: Introduced 'recordio' encoding facilities to stout.

2015-07-22 Thread Vinod Kone

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36677/#review92626
---


nice tests!


3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp (lines 54 - 61)
https://reviews.apache.org/r/36677/#comment146834

Add comments!



3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp (lines 72 - 73)
https://reviews.apache.org/r/36677/#comment146836

Comment please.



3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp (line 83)
https://reviews.apache.org/r/36677/#comment146837

Can you add a comment about whether data can contain a partial record?


- Vinod Kone


On July 22, 2015, 6:33 a.m., Ben Mahler wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36677/
 ---
 
 (Updated July 22, 2015, 6:33 a.m.)
 
 
 Review request for mesos, Anand Mazumdar, Benjamin Hindman, and Jie Yu.
 
 
 Bugs: MESOS-3067
 https://issues.apache.org/jira/browse/MESOS-3067
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Note that most Record-IO encodings are used for file I/O
 and consequently use a fixed-size header to encode the record
 length. However, decoding a base-10 integer is more
 straightforward to implement in most languages, and so this
 was chosen instead. (Note that the Twitter streaming API
 uses the same technique for portability).
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
 2394b95462182273464f0847f416ad83c3b64485 
   3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp 
 8c75f6b28c18596018eaefe427b238424aae2fd9 
   3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp PRE-CREATION 
   3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/36677/diff/
 
 
 Testing
 ---
 
 Added tests.
 
 
 Thanks,
 
 Ben Mahler
 




Re: Review Request 36677: Introduced 'recordio' encoding facilities to stout.

2015-07-22 Thread Ben Mahler

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36677/
---

(Updated July 22, 2015, 6:33 a.m.)


Review request for mesos, Anand Mazumdar, Benjamin Hindman, and Jie Yu.


Changes
---

Removed libprocess code.


Bugs: MESOS-3067
https://issues.apache.org/jira/browse/MESOS-3067


Repository: mesos


Description
---

Note that most Record-IO encodings are used for file I/O
and consequently use a fixed-size header to encode the record
length. However, decoding a base-10 integer is more
straightforward to implement in most languages, and so this
was chosen instead. (Note that the Twitter streaming API
uses the same technique for portability).


Diffs (updated)
-

  3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
2394b95462182273464f0847f416ad83c3b64485 
  3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp 
8c75f6b28c18596018eaefe427b238424aae2fd9 
  3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp PRE-CREATION 
  3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp PRE-CREATION 

Diff: https://reviews.apache.org/r/36677/diff/


Testing
---

Added tests.


Thanks,

Ben Mahler



Re: Review Request 36677: Introduced 'recordio' encoding facilities to stout.

2015-07-22 Thread Mesos ReviewBot

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36677/#review92556
---


Bad patch!

Reviews applied: [36677]

Failed command: ./support/apply-review.sh -n -r 36677

Error:
 2015-07-22 06:28:31 URL:https://reviews.apache.org/r/36677/diff/raw/ 
[10398/10398] - 36677.patch [1]
Successfully applied: Introduced 'recordio' encoding facilities to stout.

Note that most Record-IO encodings are used for file I/O
and consequently use a fixed-size header to encode the record
length. However, decoding a base-10 integer is more
straightforward to implement in most languages, and so this
was chosen instead. (Note that the Twitter streaming API
uses the same technique for portability).


Review: https://reviews.apache.org/r/36677
Checking 3 files using filter 
--filter=-,+build/class,+build/deprecated,+build/endif_comment,+readability/todo,+readability/namespace,+runtime/vlog,+whitespace/blank_line,+whitespace/comma,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/operators,+whitespace/semicolon,+whitespace/tab,+whitespace/todo
Total errors found: 0
ERROR: Commit spanning multiple projects.

Please use separate commits for mesos, libprocess and stout.

Paths grouped by project:
stout:
  3rdparty/libprocess/3rdparty/stout/include/Makefile.am
  3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp
  3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp
  3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp
libprocess:
  3rdparty/libprocess/3rdparty/Makefile.am
Failed to commit patch

- Mesos ReviewBot


On July 22, 2015, 6:09 a.m., Ben Mahler wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36677/
 ---
 
 (Updated July 22, 2015, 6:09 a.m.)
 
 
 Review request for mesos, Anand Mazumdar, Benjamin Hindman, and Jie Yu.
 
 
 Bugs: MESOS-3067
 https://issues.apache.org/jira/browse/MESOS-3067
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Note that most Record-IO encodings are used for file I/O
 and consequently use a fixed-size header to encode the record
 length. However, decoding a base-10 integer is more
 straightforward to implement in most languages, and so this
 was chosen instead. (Note that the Twitter streaming API
 uses the same technique for portability).
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/Makefile.am 
 856c2b289451fd404b97285b825e72913feb2f04 
   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
 2394b95462182273464f0847f416ad83c3b64485 
   3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp 
 8c75f6b28c18596018eaefe427b238424aae2fd9 
   3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp PRE-CREATION 
   3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/36677/diff/
 
 
 Testing
 ---
 
 Added tests.
 
 
 Thanks,
 
 Ben Mahler
 




Re: Review Request 36677: Introduced 'recordio' encoding facilities to stout.

2015-07-22 Thread Ben Mahler


 On July 22, 2015, 6:46 p.m., Vinod Kone wrote:
  3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp, lines 54-61
  https://reviews.apache.org/r/36677/diff/2/?file=1018410#file1018410line54
 
  Add comments!

Added a javadoc at the top of encoder and decoder to capture that these wrap 
individual record encoding / decoding.


 On July 22, 2015, 6:46 p.m., Vinod Kone wrote:
  3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp, line 83
  https://reviews.apache.org/r/36677/diff/2/?file=1018410#file1018410line83
 
  Can you add a comment about whether data can contain a partial record?

Re-phrased the documentation to make this more clear.


- Ben


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36677/#review92626
---


On July 22, 2015, 6:33 a.m., Ben Mahler wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36677/
 ---
 
 (Updated July 22, 2015, 6:33 a.m.)
 
 
 Review request for mesos, Anand Mazumdar, Benjamin Hindman, and Jie Yu.
 
 
 Bugs: MESOS-3067
 https://issues.apache.org/jira/browse/MESOS-3067
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Note that most Record-IO encodings are used for file I/O
 and consequently use a fixed-size header to encode the record
 length. However, decoding a base-10 integer is more
 straightforward to implement in most languages, and so this
 was chosen instead. (Note that the Twitter streaming API
 uses the same technique for portability).
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
 2394b95462182273464f0847f416ad83c3b64485 
   3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp 
 8c75f6b28c18596018eaefe427b238424aae2fd9 
   3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp PRE-CREATION 
   3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/36677/diff/
 
 
 Testing
 ---
 
 Added tests.
 
 
 Thanks,
 
 Ben Mahler
 




Re: Review Request 36677: Introduced 'recordio' encoding facilities to stout.

2015-07-22 Thread Ben Mahler

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36677/#review92690
---


I'll add a note about completion semantics (surface an error when the stream 
ends with a partial record). This is not immediately useful but note that it is 
provided by joyent's http parser: https://github.com/joyent/http-parser (search 
for EOF).


3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp (line 29)
https://reviews.apache.org/r/36677/#comment146918

I'll add a TODO here that it would be nice to compose asynchronous streams 
of data, e.g.:

Streamstring | DecoderEvent - StreamEvent

But we don't have the necessary abstractions yet in libprocess.



3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp (line 156)
https://reviews.apache.org/r/36677/#comment146917

Add a note about memory allocation here, the string will retain its maximum 
size after a .clear() call:

http://stackoverflow.com/q/25974085


- Ben Mahler


On July 22, 2015, 11:24 p.m., Ben Mahler wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36677/
 ---
 
 (Updated July 22, 2015, 11:24 p.m.)
 
 
 Review request for mesos, Anand Mazumdar, Benjamin Hindman, and Jie Yu.
 
 
 Bugs: MESOS-3067
 https://issues.apache.org/jira/browse/MESOS-3067
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Note that most Record-IO encodings are used for file I/O
 and consequently use a fixed-size header to encode the record
 length. However, decoding a base-10 integer is more
 straightforward to implement in most languages, and so this
 was chosen instead. (Note that the Twitter streaming API
 uses the same technique for portability).
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
 2394b95462182273464f0847f416ad83c3b64485 
   3rdparty/libprocess/3rdparty/stout/include/stout/protobuf.hpp 
 8c75f6b28c18596018eaefe427b238424aae2fd9 
   3rdparty/libprocess/3rdparty/stout/include/stout/recordio.hpp PRE-CREATION 
   3rdparty/libprocess/3rdparty/stout/tests/recordio_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/36677/diff/
 
 
 Testing
 ---
 
 Added tests.
 
 
 Thanks,
 
 Ben Mahler