offermannu commented on a change in pull request #3232:
URL: https://github.com/apache/hbase/pull/3232#discussion_r635830006



##########
File path: 
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java
##########
@@ -135,9 +135,7 @@ public CellWritableComparable(Cell kv) {
 
     @Override
     public void write(DataOutput out) throws IOException {
-      out.writeInt(PrivateCellUtil.estimatedSerializedSizeOfKey(kv));
-      out.writeInt(0);
-      PrivateCellUtil.writeFlatKey(kv, out);
+        KeyValueUtil.write(new KeyValue(kv), out);

Review comment:
       I don't know the implementation enough to evaluate the alternatives. As 
far as I can tell  `CellWritableComparable.readFields` uses kind of standard 
deserialization methods while `CellWritableComparable.write` implements its own 
serialization methods.  
   
   But before we find out what is the best way we should ask ourselfs if this 
feature is used at all. Since the code is broken for at least 4 years it seems 
to me that nobody uses the large import feature. 
   
   I ran into this problem because we had to import 2,5 billion records into a 
new HBase/Hadoop cluster. The direct import failed because the regionserver was 
flooded with write requests and we got lots of `RegionTooBusyException`s. So we 
tried the bulk import and ran into this bugs which I tried to fix. 
Unfortunately it didn't work either because YARN produced too many cache files 
for local sorting and the disks ran full - but that's another story.
   
   Finally we found a way to get the direct import working again which means I 
don't have a testing environment anymore.
   
   IMHO if the feature is not used at all and there is no test available, it 
would be smartest to delete the feature. 
   
    




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to