-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/15752/
-----------------------------------------------------------
Review request for accumulo.
Bugs: ACCUMULO-1854
https://issues.apache.org/jira/browse/ACCUMULO-1854
Repository: accumulo
Description
-------
The current way that AccumuloInputFormat works requires that the same *exact*
Configuration that was used to invoke getSplits() is also provided when
createRecordReader() is called on the InputFormat. In practice, notably looking
at InputFormat implementations which merge or delegate other InputFormats, this
is a bad idea.
By serializing the necessary information into the RangeInputSplit from the
provided Configuration object in getSplits() we can completely avoid this
problem, at the minimal expense of serialization this information into each
InputSplit. I tried to implement the changes in such a way that would be
backwards compatible. If the information is not provided (is null) in the
RangeInputSplit, the RecordReader will still attempt to pull a value from the
Configuration object so as to not fail immediately. This should provide a
little more flexibility if users have custom code built on top of the
AccumuloInputFormat and RangeInputSplit
Diffs
-----
src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
4de131f
src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
8e238f1
src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
PRE-CREATION
src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
ba647e9
src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormatTest.java
0673f1b
src/core/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java
PRE-CREATION
src/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormatTest.java
c31c738
Diff: https://reviews.apache.org/r/15752/diff/
Testing
-------
Verified changes work as intended using PigInputFormat (which may delegate to
many InputFormats). Added additional unit tests and verified sufficient
coverage using cobertura.
Thanks,
Josh Elser