> On June 27, 2017, 12:29 p.m., Anna Szonyi wrote:
> > src/java/org/apache/sqoop/hbase/ToStringPutTransformer.java
> > Lines 172-200 (original), 174-217 (patched)
> > <https://reviews.apache.org/r/57499/diff/6/?file=1747808#file1747808line174>
> >
> >     Hey Jilani,
> >     
> >     Instead of this, maybe we could initialize the List at the top of the 
> > method and instead of using the booleans, like:
> >     
> >      List<Mutation> mutationList = new ArrayList<>();
> >       ...
> >         for (...) {
> >              ...
> >             Put put = new Put(Bytes.toBytes(rowKey));
> >             if (null != val) {
> >               if ( val instanceof byte[]) {
> >                 put.addColumn(...);
> >               } else {
> >                 put.addColumn(...);
> >               }
> >               mutationList.add(put);
> >             } else {
> >               Delete delete = new Delete(Bytes.toBytes(rowKey));
> >               delete.addColumn(...);
> >               mutationList.add(delete);
> >             }
> >           }
> >         }
> >     
> >         return Collections.unmodifiableList(mutationList);
> >       }
> >       
> >     or even use a Stack/Deque if you want to ensure that there is only a 
> > single (last) element that we return in either case:
> >     
> >     
> >         Deque<Mutation> mutations = new ArrayDeque<>();
> >         ...
> >         for (...) {
> >           ...
> >             Put put = new Put(Bytes.toBytes(rowKey));
> >             if (null != val) {
> >               if ( val instanceof byte[]) {
> >                 put.addColumn(...);
> >               } else {
> >                 put.addColumn(...);
> >               }
> >               mutations.addFirst(put);
> >             } else {
> >               Delete delete = new Delete(Bytes.toBytes(rowKey));
> >               delete.addColumn(...)
> >               mutations.addFirst(delete);
> >             }
> >           }
> >         }
> >     
> >         return Collections.singletonList(mutations.peekFirst());
> >         
> >     Or something similar.
> >     This way we don't have to track and check the isDelete and isPop, which 
> > makes the code a bit more clean and extensible.
> >     Please let me know your thoughts on this!

Hi Anna,

I updated code with list on top instead of using booleans. Please review the 
chnages and let me know if anything else required further.

Thanks,
Jilani


- Jilani


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


On July 11, 2017, 4:05 a.m., Jilani Shaik wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/57499/
> -----------------------------------------------------------
> 
> (Updated July 11, 2017, 4:05 a.m.)
> 
> 
> Review request for Sqoop, Boglarka Egyed, Attila Szabo, and Anna Szonyi.
> 
> 
> Bugs: SQOOP-3149
>     https://issues.apache.org/jira/browse/SQOOP-3149
> 
> 
> Repository: sqoop-trunk
> 
> 
> Description
> -------
> 
> HBase delete is added as part of incremental data import, Modified the return 
> type of method which is responsible for holding list of Put objects to List 
> of Mutation objects and at the time of execution of insert or delete using 
> the type of object in Mutation, executed the actaul operation either insert 
> or delete.
> 
> Jira ticket for the same: https://issues.apache.org/jira/browse/SQOOP-3149
> 
> Similar ticket to above:  SQOOP-3125
> 
> 
> Diffs
> -----
> 
>   src/java/org/apache/sqoop/hbase/HBasePutProcessor.java fdbe1276 
>   src/java/org/apache/sqoop/hbase/PutTransformer.java 533467e5 
>   src/java/org/apache/sqoop/hbase/ToStringPutTransformer.java 363e1456 
>   src/java/org/apache/sqoop/mapreduce/HBaseBulkImportMapper.java 58ccee7b 
>   src/test/com/cloudera/sqoop/hbase/HBaseImportTest.java fa14a013 
>   src/test/com/cloudera/sqoop/hbase/HBaseTestCase.java a054eb66 
>   src/test/com/cloudera/sqoop/testutil/BaseSqoopTestCase.java 6310a398 
> 
> 
> Diff: https://reviews.apache.org/r/57499/diff/8/
> 
> 
> Testing
> -------
> 
> Executed with jar prepared with these changes into hadoop cluster and tested 
> bot import and then incremental import.
> 
> 
> File Attachments
> ----------------
> 
> HBase delete support for incremental import
>   
> https://reviews.apache.org/media/uploaded/files/2017/03/11/5b1895fd-4c6b-42fa-8a92-4e093153e370__hbase_delete_support_in_incremental_import
> updated with unit test and based on below suggestions
>   
> https://reviews.apache.org/media/uploaded/files/2017/03/22/708f63ba-2d8a-4a47-ab67-c1d2776354fd__hbase_delete_support_in_incremental_unit_test_also
> 
> 
> Thanks,
> 
> Jilani Shaik
> 
>

Reply via email to