You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by Hari Shreedharan <hs...@cloudera.com> on 2012/09/02 20:47:29 UTC

Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

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

Review request for Flume.


Description
-------

The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.


This addresses bug FLUME-1534.
    https://issues.apache.org/jira/browse/FLUME-1534


Diffs
-----

  flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 

Diff: https://reviews.apache.org/r/6892/diff/


Testing
-------


Thanks,

Hari Shreedharan


Re: Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

Posted by Hari Shreedharan <hs...@cloudera.com>.

> On Sept. 2, 2012, 9:28 p.m., Will McQueen wrote:
> > flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java, lines 218-223
> > <https://reviews.apache.org/r/6892/diff/2/?file=149042#file149042line218>
> >
> >     1 nit...
> >     
> >     Since class is now final, we can replace this section with:
> >     
> >     if (!(o instanceof ComparableFlumeEventPointer))
> >       return false;

I think this is ok to leave it as such. I don't see a major performance hit for doing what we do currently.


- Hari


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


On Sept. 2, 2012, 9:11 p.m., Hari Shreedharan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6892/
> -----------------------------------------------------------
> 
> (Updated Sept. 2, 2012, 9:11 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.
> 
> 
> This addresses bug FLUME-1534.
>     https://issues.apache.org/jira/browse/FLUME-1534
> 
> 
> Diffs
> -----
> 
>   flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 
> 
> Diff: https://reviews.apache.org/r/6892/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hari Shreedharan
> 
>


Re: Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

Posted by Will McQueen <wi...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6892/#review10983
-----------------------------------------------------------



flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java
<https://reviews.apache.org/r/6892/#comment23571>

    1 nit...
    
    Since class is now final, we can replace this section with:
    
    if (!(o instanceof ComparableFlumeEventPointer))
      return false;


- Will McQueen


On Sept. 2, 2012, 9:11 p.m., Hari Shreedharan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6892/
> -----------------------------------------------------------
> 
> (Updated Sept. 2, 2012, 9:11 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.
> 
> 
> This addresses bug FLUME-1534.
>     https://issues.apache.org/jira/browse/FLUME-1534
> 
> 
> Diffs
> -----
> 
>   flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 
> 
> Diff: https://reviews.apache.org/r/6892/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hari Shreedharan
> 
>


Re: Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

Posted by Will McQueen <wi...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6892/#review10985
-----------------------------------------------------------

Ship it!


Ship It!

- Will McQueen


On Sept. 2, 2012, 9:11 p.m., Hari Shreedharan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6892/
> -----------------------------------------------------------
> 
> (Updated Sept. 2, 2012, 9:11 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.
> 
> 
> This addresses bug FLUME-1534.
>     https://issues.apache.org/jira/browse/FLUME-1534
> 
> 
> Diffs
> -----
> 
>   flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 
> 
> Diff: https://reviews.apache.org/r/6892/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hari Shreedharan
> 
>


Re: Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

Posted by Hari Shreedharan <hs...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6892/
-----------------------------------------------------------

(Updated Sept. 2, 2012, 9:11 p.m.)


Review request for Flume.


Changes
-------

Incorporating Will's feedback.


Description
-------

The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.


This addresses bug FLUME-1534.
    https://issues.apache.org/jira/browse/FLUME-1534


Diffs (updated)
-----

  flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 

Diff: https://reviews.apache.org/r/6892/diff/


Testing
-------


Thanks,

Hari Shreedharan


Re: Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

Posted by Hari Shreedharan <hs...@cloudera.com>.

> On Sept. 2, 2012, 8:43 p.m., Will McQueen wrote:
> >

I don't think both these are really concerns at all, except from a theoretical perspective. Note that the only reason this class exists is so that we can associate order id with a FlumeEventPointer object. That said, the changes required are not major so I am ok with uploading a new patch.


- Hari


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


On Sept. 2, 2012, 6:47 p.m., Hari Shreedharan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6892/
> -----------------------------------------------------------
> 
> (Updated Sept. 2, 2012, 6:47 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.
> 
> 
> This addresses bug FLUME-1534.
>     https://issues.apache.org/jira/browse/FLUME-1534
> 
> 
> Diffs
> -----
> 
>   flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 
> 
> Diff: https://reviews.apache.org/r/6892/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hari Shreedharan
> 
>


Re: Review Request: FLUME-1534: ComparableFlumeEventPointer#equals method does not work.

Posted by Will McQueen <wi...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6892/#review10980
-----------------------------------------------------------



flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java
<https://reviews.apache.org/r/6892/#comment23567>

    Doesn't this violate the Liskov substitution principal (EJ 2nd ed, p39-40)? If it doesn't make sense to subclass the ComparableFlumeEventPointer class, then can we make the class final?



flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java
<https://reviews.apache.org/r/6892/#comment23568>

    Considering the case where pointer can be null, we can use Guava's Objects.equal(..) method:
    
    return Objects.equal(this.pointer, ((ComparableFlumeEventPointer)o).pointer);


- Will McQueen


On Sept. 2, 2012, 6:47 p.m., Hari Shreedharan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6892/
> -----------------------------------------------------------
> 
> (Updated Sept. 2, 2012, 6:47 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> The equals() method in ComparableFlumeEventPointer was not working correctly, and hence remove() calls from sets were not removing anything.
> 
> 
> This addresses bug FLUME-1534.
>     https://issues.apache.org/jira/browse/FLUME-1534
> 
> 
> Diffs
> -----
> 
>   flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/CheckpointRebuilder.java 4db1b9c 
> 
> Diff: https://reviews.apache.org/r/6892/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hari Shreedharan
> 
>