You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/07/03 21:33:00 UTC

[jira] [Commented] (GEODE-2860) refactor EventTracker to be on DistributedRegion instead of LocalRegion

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

ASF GitHub Bot commented on GEODE-2860:
---------------------------------------

GitHub user nreich opened a pull request:

    https://github.com/apache/geode/pull/616

    GEODE-2860: Refactor use of EventTracker

      * change EventTracker to an interface with two implementations
      * move as much logic out of LocalRegion down into subclasses that
        make use EventTracker
      * move and refactor static inner classes in EventTracker into own
        class files
      * migrate some of event-focused classes into a new sub package
      * add tests for existing logic from EventTracker
    
    Thank you for submitting a contribution to Apache Geode.
    
    In order to streamline the review of the contribution we ask you
    to ensure the following steps have been taken:
    
    ### For all changes:
    - [x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
    
    - [x] Has your PR been rebased against the latest commit within the target branch (typically `develop`)?
    
    - [x] Is your initial contribution a single, squashed commit?
    
    - [x] Does `gradlew build` run cleanly?
    
    - [x] Have you written or updated unit tests to verify your changes?
    
    - [NA] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
    
    ### Note:
    Please ensure that once the PR is submitted, you check travis-ci for build issues and
    submit an update to your PR as soon as possible. If you need help, please send an
    email to dev@geode.apache.org.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nreich/geode feature/GEODE-2860

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/geode/pull/616.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #616
    
----
commit 0e215d4ba961abb7dd293662a7586aacf2369f00
Author: Nick Reich <nr...@pivotal.io>
Date:   2017-06-30T23:05:58Z

    GEODE-2860: Refactor use of EventTracker
    
      * change EventTracker to an interface with two implementations
      * move as much logic out of LocalRegion down into subclasses that
        make use EventTracker
      * move and refactor static inner classes in EventTracker into own
        class files
      * migrate some of event-focused classes into a new sub package
      * add tests for existing logic from EventTracker

----


> refactor EventTracker to be on DistributedRegion instead of LocalRegion
> -----------------------------------------------------------------------
>
>                 Key: GEODE-2860
>                 URL: https://issues.apache.org/jira/browse/GEODE-2860
>             Project: Geode
>          Issue Type: Improvement
>          Components: regions
>            Reporter: Darrel Schneider
>            Assignee: Nick Reich
>              Labels: storage_3
>
> Currently LocalRegion has a non-final field named "eventTracker". It is initialized in a method named createEventTracker which does nothing on LocalRegion but is implemented on DistributedRegion and BucketRegion to initialize the eventTracker field.
> I think things would be clearer if this field was moved to DistributedRegion.
> All the code on LocalRegion that currently tests for a non-null eventTracker can be changed to do nothing and overridden on DistributedRegion to use its eventTracker. DistributedRegion can make this field final and always set it in its constructor. Since BucketRegion extends DistributedRegion it does not to do anything (it currently implements createEventTracker but that was not needed since it inherits the same impl from DistributedRegion).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)