> On Nov. 21, 2014, 1:09 a.m., Maxim Khutornenko wrote: > > src/main/java/org/apache/aurora/scheduler/storage/log/EntrySerializer.java, > > line 92 > > <https://reviews.apache.org/r/28306/diff/1/?file=771713#file771713line92> > > > > Mind commenting on the algorithm here? Why the magic "-2"? > > Kevin Sweeney wrote: > Not sure what I'd say there that doesn't risk contradicting the code > below - we don't usually comment loop variables and the old version had the > same amount of commenting.
I just find it harder to follow when I see anything less than -1 as the initial condition. Why not starting with -1 (to account for the header) and then increment i at the end of computeNext()? - Maxim ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/28306/#review62481 ----------------------------------------------------------- On Nov. 21, 2014, 1:10 a.m., Kevin Sweeney wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/28306/ > ----------------------------------------------------------- > > (Updated Nov. 21, 2014, 1:10 a.m.) > > > Review request for Aurora, David McLaughlin and Bill Farner. > > > Bugs: AURORA-930 > https://issues.apache.org/jira/browse/AURORA-930 > > > Repository: aurora > > > Description > ------- > > Stream frame chunks instead of preallocating them. > > This avoids allocating an entire additional snapshot worth of heap during > entry serialization, reducing overall heap impact of the serializer from > 2*sizeof(serialized-entry) to sizeof(serialized-entry)+chunkSize. > > Further optimizations out-of-scope for this change: > > * Make the returned iterator mutate a fixed-size buffer (for GC pressure > avoidance). > * Change the log format so that FrameHeader doesn't need to know the size and > checksum of the serialized data ahead-of-time (maybe write it as a trailer). > > > Diffs > ----- > > src/main/java/org/apache/aurora/scheduler/storage/log/EntrySerializer.java > f4fa1cb740633ced529c1b5fd9f18abba8944571 > > src/main/java/org/apache/aurora/scheduler/storage/log/StreamManagerImpl.java > cb95d8996a934751745f423b79279266d73b7722 > src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java > c90389433d81dd72756c659736e38fd9f66fcb35 > > Diff: https://reviews.apache.org/r/28306/diff/ > > > Testing > ------- > > ./gradlew -Pq build > > > Thanks, > > Kevin Sweeney > >