[ 
https://issues.apache.org/jira/browse/FLUME-1183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13271224#comment-13271224
 ] 

[email protected] commented on FLUME-1183:
------------------------------------------------------



bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > Hari, thank you for the patch!  I don't plan on doing the full review 
since I don't have the cycles right now, but I saw this come up right before 
bed so I thought I would add my input.

Thanks for you comments, Brock! I will make sure that these are addressed in 
the next patch, which I will submit after someone does a full review.


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 132
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line132>
bq.  >
bq.  >     Wish:  It'd be ideal if we could use mockito to pass it a fake 
HTable object and then test that transactions are handled correctly if Error 
and RuntimeException are thrown.

I am not too familiar with mockito. I will do that in a different patch, when I 
have time to pick up Mockito.


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 176
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line176>
bq.  >
bq.  >     super.stop(); ?

Oops! Will add in the next patch.


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 182
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line182>
bq.  >
bq.  >     Most components are taking CamelCap parameters.  
https://github.com/apache/flume/blob/trunk/flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/HDFSEventSink.java

I was not actually sure, will change this.


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 231
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line231>
bq.  >
bq.  >     Maybe we should use a different default row key? I am guessing the 
row key prefix is supposed to be used to get around hot spotting due to the 
timestamp. Maybe UUID would be a better default?

The idea is that the user gives an initial prefix in the conf. This way they 
can supply different prefixes for different sinks, within the same agent(and 
later identify which sink each of the rows came from). I agree that using uuid 
is a better default, but the concerns I have are its size, and also that scans 
will return the rows in a different order than inserted, while inserting it 
using timestamps will guarantee that values inserted in a specific order will 
be returned together. I would like your feedback on that, if that is not a 
major use case, then I will change it to uuid, since the implementation is also 
cleaner. Please let me know.


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 234
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line234>
bq.  >
bq.  >     Should we specify the UTF-8 charset here?

will do.


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 239
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line239>
bq.  >
bq.  >     We are just dropping the headers altogether? I think we should 
insert them as cells (a flag could turn this off).

I am considering using something like gson to convert the event into json and 
writing that. We can provide a wrapper called Serializable event, which allows 
serialize and deserialize. The event serializer is available, but it is not a 
good fit, and it also expects an output stream. 

I don't want to separate the headers and body while writing to the hbase. Using 
different cells would do this. Easiest if we can take the byte array form hbase 
and then convert it back to the json and return the headers and body.  


bq.  On 2012-05-09 05:04:12, Brock Noland wrote:
bq.  > 
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java,
 line 263
bq.  > <https://reviews.apache.org/r/5073/diff/1/?file=107970#file107970line263>
bq.  >
bq.  >     I don't plan on doing the major review of this, but Throwable should 
be caught here and rollback called. If the throwable is Error or 
RuntimeException it should be thrown without being wrapped.

Will do.


- Hari


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


On 2012-05-09 03:04:07, Hari Shreedharan wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/5073/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-05-09 03:04:07)
bq.  
bq.  
bq.  Review request for Flume.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Hbase sink.
bq.  
bq.  
bq.  This addresses bug FLUME-1183.
bq.      https://issues.apache.org/jira/browse/FLUME-1183
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
flume-ng-sinks/flume-ng-hbase-sink/src/test/java/org/apache/flume/sink/hbase/TestHBaseSink.java
 PRE-CREATION 
bq.    flume-ng-sinks/pom.xml acb3087 
bq.    pom.xml 8c11a2d 
bq.    flume-ng-dist/pom.xml 5bdcfe7 
bq.    flume-ng-sinks/flume-ng-hbase-sink/pom.xml PRE-CREATION 
bq.    
flume-ng-sinks/flume-ng-hbase-sink/src/main/java/org/apache/flume/sink/hbase/HBaseSink.java
 PRE-CREATION 
bq.    bin/flume-ng 0108997 
bq.  
bq.  Diff: https://reviews.apache.org/r/5073/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Unit tests added
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Hari
bq.  
bq.


                
> Implement an HBase Sink which supports table level access
> ---------------------------------------------------------
>
>                 Key: FLUME-1183
>                 URL: https://issues.apache.org/jira/browse/FLUME-1183
>             Project: Flume
>          Issue Type: New Feature
>          Components: Sinks+Sources
>    Affects Versions: v1.2.0
>            Reporter: Hari Shreedharan
>            Assignee: Hari Shreedharan
>             Fix For: v1.2.0
>
>
> This is what I intend to do:
> * Insert the row key from event headers. Pick the column family and column 
> from configuration, not from headers. 
> * Allow configuration to specify default for row key. If no row key exists in 
> header, then take the default value from the configuration. I don't want to 
> dump everything into the table with the same row key. 
> * I don't intend to support multiple tables, column families or columns in 
> the same sink. We can use multiplexing channel selector to use different 
> sinks for different tables/columns.
> I know the existence of another jira for porting the HBase sink from OG, but 
> didn't see any activity for a while on that. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to