Accumulo
  1. Accumulo
  2. ACCUMULO-2331

TableConfiguration should override invalidateCache

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5.0
    • Fix Version/s: 1.5.1, 1.6.0
    • Component/s: None
    • Labels:
      None

      Description

      In trying to get ACCUMULO-1908 resolved, I noticed that I had a new test failure in which the test appeared to not see updates to a table's properties.

      Upon further investigation, I noticed that the server-side impl in ClientServiceHandler was calling invalidateCache on the AccumuloConfiguration it was passed (which is actually a TableConfiguration). However, since this method isn't implemented in TableConfiguration, the cache wasn't cleared and the client saw stale data.

        Issue Links

          Activity

          Hide
          ASF subversion and git services added a comment -

          Commit 07384da27a9997824f56230d30a52fd17e0aef39 in branch refs/heads/2331-tableconfig from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=07384da ]

          ACCUMULO-2331 Actually invalidate the cache when requested.

          Show
          ASF subversion and git services added a comment - Commit 07384da27a9997824f56230d30a52fd17e0aef39 in branch refs/heads/2331-tableconfig from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=07384da ] ACCUMULO-2331 Actually invalidate the cache when requested.
          Hide
          Josh Elser added a comment -

          This also just caused a failure for me in o.a.a.p.SimpleTest.

          Show
          Josh Elser added a comment - This also just caused a failure for me in o.a.a.p.SimpleTest.
          Hide
          ASF subversion and git services added a comment -

          Commit 050ff39e67204dfd1959d1a31efb34fefec124e2 in branch refs/heads/2331-tableconfig from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=050ff39 ]

          ACCUMULO-2331 Remove unnecessary attempt at polling for configuration updates.

          getTableProperties should flush the ZooCache before pulling the configuration
          values from it and thus force communication to ZooKeeper. As such, there should
          be no need to try to code around this.

          Show
          ASF subversion and git services added a comment - Commit 050ff39e67204dfd1959d1a31efb34fefec124e2 in branch refs/heads/2331-tableconfig from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=050ff39 ] ACCUMULO-2331 Remove unnecessary attempt at polling for configuration updates. getTableProperties should flush the ZooCache before pulling the configuration values from it and thus force communication to ZooKeeper. As such, there should be no need to try to code around this.
          Hide
          ASF subversion and git services added a comment -

          Commit 510140ad0cae2d54bc4c097c94cf4b024f3655bf in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=510140a ]

          ACCUMULO-2331 Actually invalidate the cache in TableConfiguration when requested.

          TableConfiguration previously didn't override invalidateCache, which means that
          the implementations that used it and the invalidateCache method, were not providing
          the semantics that were intended. Fix the case in SimpleTest that outlined this issue,
          removing the additional poll/check loop as it was both broken and unnecessary with
          proper API implementation.

          Show
          ASF subversion and git services added a comment - Commit 510140ad0cae2d54bc4c097c94cf4b024f3655bf in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=510140a ] ACCUMULO-2331 Actually invalidate the cache in TableConfiguration when requested. TableConfiguration previously didn't override invalidateCache, which means that the implementations that used it and the invalidateCache method, were not providing the semantics that were intended. Fix the case in SimpleTest that outlined this issue, removing the additional poll/check loop as it was both broken and unnecessary with proper API implementation.
          Hide
          ASF subversion and git services added a comment -

          Commit 510140ad0cae2d54bc4c097c94cf4b024f3655bf in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=510140a ]

          ACCUMULO-2331 Actually invalidate the cache in TableConfiguration when requested.

          TableConfiguration previously didn't override invalidateCache, which means that
          the implementations that used it and the invalidateCache method, were not providing
          the semantics that were intended. Fix the case in SimpleTest that outlined this issue,
          removing the additional poll/check loop as it was both broken and unnecessary with
          proper API implementation.

          Show
          ASF subversion and git services added a comment - Commit 510140ad0cae2d54bc4c097c94cf4b024f3655bf in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=510140a ] ACCUMULO-2331 Actually invalidate the cache in TableConfiguration when requested. TableConfiguration previously didn't override invalidateCache, which means that the implementations that used it and the invalidateCache method, were not providing the semantics that were intended. Fix the case in SimpleTest that outlined this issue, removing the additional poll/check loop as it was both broken and unnecessary with proper API implementation.
          Hide
          ASF subversion and git services added a comment -

          Commit 510140ad0cae2d54bc4c097c94cf4b024f3655bf in branch refs/heads/master from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=510140a ]

          ACCUMULO-2331 Actually invalidate the cache in TableConfiguration when requested.

          TableConfiguration previously didn't override invalidateCache, which means that
          the implementations that used it and the invalidateCache method, were not providing
          the semantics that were intended. Fix the case in SimpleTest that outlined this issue,
          removing the additional poll/check loop as it was both broken and unnecessary with
          proper API implementation.

          Show
          ASF subversion and git services added a comment - Commit 510140ad0cae2d54bc4c097c94cf4b024f3655bf in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=510140a ] ACCUMULO-2331 Actually invalidate the cache in TableConfiguration when requested. TableConfiguration previously didn't override invalidateCache, which means that the implementations that used it and the invalidateCache method, were not providing the semantics that were intended. Fix the case in SimpleTest that outlined this issue, removing the additional poll/check loop as it was both broken and unnecessary with proper API implementation.
          Hide
          John Vines added a comment -

          Josh Elser thinks this may be related

          Show
          John Vines added a comment - Josh Elser thinks this may be related
          Hide
          Josh Elser added a comment -

          thinks this may be related

          At the very least, it's a change that happened between 1.5.0 and 1.5.1. Certainly suspect. Giving a quick glance, I don't think the current synchronization is sufficient to guarantee that an NPE isn't hit.

          Show
          Josh Elser added a comment - thinks this may be related At the very least, it's a change that happened between 1.5.0 and 1.5.1. Certainly suspect. Giving a quick glance, I don't think the current synchronization is sufficient to guarantee that an NPE isn't hit.

            People

            • Assignee:
              Josh Elser
              Reporter:
              Josh Elser
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development