GitHub user dhutchis opened a pull request:

    https://github.com/apache/accumulo/pull/96

    ACCUMULO-4229 BatchWriter Locator cache out-of-sync when shared with tserver

    This adds two ITs and a fix. The first IT passes and establishes a 
baseline. The second IT failed before the fix but now passes after the fix.
    
    The fix has the client ConditionalWriter, BatchWriter, and BatchReader 
check to see if a locally cached Locator is out of date due to the static 
TabletLocator cache being cleared.
    
    There is no addition to public API. I include some utility classes that 
help run the tests.

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

    $ git pull https://github.com/dhutchis/accumulo ACCUMULO-4229

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

    https://github.com/apache/accumulo/pull/96.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 #96
    
----
commit 83d35032ee89c5765334b462dc34e14ed05f2939
Author: Dylan Hutchison <[email protected]>
Date:   2016-04-23T08:02:01Z

    ACCUMULO-4229 Add breaking test that reproduces problem
    
    I add two tests in BatchWriterInTabletServerIT.
    The first passes and establishes a baseline.
    The second fails, proving the issue.
    
    I added an extra iterator and a utility class for the IT.
    These are in the test package, so they do not get packaged into normal 
builds.

commit 62630b97d3dccf4cba92ecb83e05a96bedd17a3a
Author: Dylan Hutchison <[email protected]>
Date:   2016-04-23T08:33:24Z

    ACCUMULO-4229 Fixed
    
    I added a boolean indicator variable to TabletLocator.
    It is set to false when the static TabletLocator cache is cleared.
    The various client writers and readers check the indicator
    before using a locally cached Locator.
    
    The previously failing test case now passes.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to