Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-1833

MultiTableBatchWriterImpl.getBatchWriter() is not performant for multiple threads

    Details

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

      Description

      This issue comes from profiling our application. We have a MultiTableBatchWriter created by normal means. I am attempting to write to it with multiple threads by doing things like the following:

      batchWriter.getBatchWriter(table).addMutations(mutations);
      

      In my test with 4 threads writing to one table, this call is quite inefficient and results in a large performance degradation over a single BatchWriter.

      I believe the culprit is the fact that the call is synchronized. Also there is the possibility that the zookeeper call to Tables.getTableState on every call is negatively affecting performance:

        @Override
        public synchronized BatchWriter getBatchWriter(String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
          ArgumentChecker.notNull(tableName);
          String tableId = Tables.getNameToIdMap(instance).get(tableName);
          if (tableId == null)
            throw new TableNotFoundException(tableId, tableName, null);
          
          if (Tables.getTableState(instance, tableId) == TableState.OFFLINE)
            throw new TableOfflineException(instance, tableId);
          
          BatchWriter tbw = tableWriters.get(tableId);
          if (tbw == null) {
            tbw = new TableBatchWriter(tableId);
            tableWriters.put(tableId, tbw);
          }
          return tbw;
        }
      

      I recommend moving the synchronized block to happen only if the batchwriter is not present, and also only checking if the table is online at that time:

        @Override
        public BatchWriter getBatchWriter(String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException {
          ArgumentChecker.notNull(tableName);
          String tableId = Tables.getNameToIdMap(instance).get(tableName);
          if (tableId == null)
            throw new TableNotFoundException(tableId, tableName, null);
      
          BatchWriter tbw = tableWriters.get(tableId);
          if (tbw == null) {
      
            if (Tables.getTableState(instance, tableId) == TableState.OFFLINE)
                throw new TableOfflineException(instance, tableId);
            tbw = new TableBatchWriter(tableId);
            synchronized(tableWriters){
                //only create a new table writer if we haven't been beaten to it.
                if (tableWriters.get(tableId) == null)      
                    tableWriters.put(tableId, tbw);
            }
          }
          return tbw;
        }
      
      1. ZooKeeperThreadUtilization.png
        23 kB
        Josh Elser
      2. ACCUMULO-1833-test.patch
        5 kB
        Billie Rinaldi

        Issue Links

          Activity

          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Account for race condition in test where mutations are flushed immediately.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 404e955ece6b85bd77e3afc5c641b8eb823d547b in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=404e955 ] ACCUMULO-1833 Account for race condition in test where mutations are flushed immediately.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Fix merge to 1.6.0 regarding TCredentials->Credentials

          Show
          jira-bot ASF subversion and git services added a comment - Commit 515cd9dfd97845df2c3720548c2a5c53440c0654 in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=515cd9d ] ACCUMULO-1833 Fix merge to 1.6.0 regarding TCredentials->Credentials
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Account for race condition in test where mutations are flushed immediately.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 404e955ece6b85bd77e3afc5c641b8eb823d547b in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=404e955 ] ACCUMULO-1833 Account for race condition in test where mutations are flushed immediately.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Account for race condition in test where mutations are flushed immediately.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 404e955ece6b85bd77e3afc5c641b8eb823d547b in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=404e955 ] ACCUMULO-1833 Account for race condition in test where mutations are flushed immediately.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Fix merge to 1.6.0 regarding TCredentials->Credentials

          Show
          jira-bot ASF subversion and git services added a comment - Commit 515cd9dfd97845df2c3720548c2a5c53440c0654 in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=515cd9d ] ACCUMULO-1833 Fix merge to 1.6.0 regarding TCredentials->Credentials
          Hide
          elserj Josh Elser added a comment -

          Tests screwed up in 1.6.0 that I didn't notice because of native-maps failing my build.

          Show
          elserj Josh Elser added a comment - Tests screwed up in 1.6.0 that I didn't notice because of native-maps failing my build.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          jira-bot ASF subversion and git services added a comment -

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

          ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

          Squashed commit of the following:

          commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
          Author: Josh Elser <elserj@apache.org>
          Date: Fri Nov 15 14:26:29 2013 -0800

          ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

          Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
          to be more active and be less susceptible to a paused thread.

          commit dd73f52180ca00623469850c4b2d4b03c3768837
          Author: Josh Elser <elserj@apache.org>
          Date: Tue Nov 12 18:00:07 2013 -0800

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 11:36:06 2013 -0500

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Fri Nov 8 10:55:01 2013 -0500

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:22:19 2013 -0500

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          commit a11883e62de57eaacf0aba6a5019b7abe79563ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 22:21:29 2013 -0500

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          commit e634ca03f326070a42a811d1ed9a181df5214a03
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:54:20 2013 -0500

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 20:37:28 2013 -0500

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
          Author: Josh Elser <josh.elser@gmail.com>
          Date: Thu Nov 7 16:49:41 2013 -0500

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 6b87c870d9475f024911649deb6eeb614325d00a in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6b87c87 ] ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access. Squashed commit of the following: commit 58d61759cdc673cc5ee86ad1176b7db3b2955679 Author: Josh Elser <elserj@apache.org> Date: Fri Nov 15 14:26:29 2013 -0800 ACCUMULO-1833 Recommended changes from Keith regarding previous fixes. Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check to be more active and be less susceptible to a paused thread. commit dd73f52180ca00623469850c4b2d4b03c3768837 Author: Josh Elser <elserj@apache.org> Date: Tue Nov 12 18:00:07 2013 -0800 ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust. commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 11:36:06 2013 -0500 ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache. commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8 Author: Josh Elser <josh.elser@gmail.com> Date: Fri Nov 8 10:55:01 2013 -0500 ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes. commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:22:19 2013 -0500 ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone. commit a11883e62de57eaacf0aba6a5019b7abe79563ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 22:21:29 2013 -0500 ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close) commit e634ca03f326070a42a811d1ed9a181df5214a03 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:54:20 2013 -0500 ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access. commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77 Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 20:37:28 2013 -0500 ACCUMULO-1833 Tests for expected functionality in the face of table operations. commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec Author: Josh Elser <josh.elser@gmail.com> Date: Thu Nov 7 16:49:41 2013 -0500 ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          elserj Josh Elser added a comment -

          Oh you guysss :3

          I'll watch your Github, Keith Turner. Thanks for the review.

          Show
          elserj Josh Elser added a comment - Oh you guysss :3 I'll watch your Github, Keith Turner . Thanks for the review.
          Hide
          afuchs Adam Fuchs added a comment -

          Keith Turner Josh Elser Make sure you leave some Y2305 jobs in there for us Accumulo devs! (I expect life extension tech and server stability will make some progress before then)

          Show
          afuchs Adam Fuchs added a comment - Keith Turner Josh Elser Make sure you leave some Y2305 jobs in there for us Accumulo devs! (I expect life extension tech and server stability will make some progress before then)
          Hide
          kturner Keith Turner added a comment -

          I took an initial look at and pushed some changes and comments to github. I want to look at it some more, but I will have to do that later.

          https://github.com/keith-turner/accumulo/commits/ACCUMULO-1833-caching

          Show
          kturner Keith Turner added a comment - I took an initial look at and pushed some changes and comments to github. I want to look at it some more, but I will have to do that later. https://github.com/keith-turner/accumulo/commits/ACCUMULO-1833-caching
          Hide
          kturner Keith Turner added a comment -

          Josh Elser I will take a look at it. I ran some numbers on long overflow out of curiosity. If someone incremented the counter every milliseconds it would take 1.3 galactic years to overflow. If someone incremented the counter every nano second it would take 292 years to overflow.

          Show
          kturner Keith Turner added a comment - Josh Elser I will take a look at it. I ran some numbers on long overflow out of curiosity. If someone incremented the counter every milliseconds it would take 1.3 galactic years to overflow. If someone incremented the counter every nano second it would take 292 years to overflow.
          Hide
          ecn Eric Newton added a comment -

          Josh Elser looks good to me.

          Show
          ecn Eric Newton added a comment - Josh Elser looks good to me.
          Hide
          elserj Josh Elser added a comment -

          Thinking about it some more, it should be possible to reset the counter in Tables back to 0 if we happen to overflow the long. MTBWI could handle the case where its value is larger than the id returned by Tables as a reset condition. That might negate the overflow/long-running-jvm worry completely.

          Show
          elserj Josh Elser added a comment - Thinking about it some more, it should be possible to reset the counter in Tables back to 0 if we happen to overflow the long. MTBWI could handle the case where its value is larger than the id returned by Tables as a reset condition. That might negate the overflow/long-running-jvm worry completely.
          Hide
          elserj Josh Elser added a comment -

          I would be happier with an AtomicLong or supporting rolling

          Done.

          Keith Turner and/or Eric Newton, can you look at these changes before I merge them into 1.5.1-SNAPSHOT? They're in the branch ACCUMULO-1833-caching.

          Show
          elserj Josh Elser added a comment - I would be happier with an AtomicLong or supporting rolling Done. Keith Turner and/or Eric Newton , can you look at these changes before I merge them into 1.5.1-SNAPSHOT? They're in the branch ACCUMULO-1833 -caching.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c384ab29842c3197ec800418621d3df78ecdf57b in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=c384ab2 ]

          ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

          Show
          jira-bot ASF subversion and git services added a comment - Commit c384ab29842c3197ec800418621d3df78ecdf57b in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=c384ab2 ] ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.
          Hide
          vines John Vines added a comment -

          I would be happier with an AtomicLong or supporting rolling

          Show
          vines John Vines added a comment - I would be happier with an AtomicLong or supporting rolling
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 29efac97c82edd9fc08d37a83676cfdc18503103 in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=29efac9 ]

          ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
          invalidations and propagate them through MTBW's cache.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 29efac97c82edd9fc08d37a83676cfdc18503103 in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=29efac9 ] ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache invalidations and propagate them through MTBW's cache.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c8e607fe381242492fc7e8c84b4fb0f1e000d3aa in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=c8e607f ]

          ACCUMULO-1833 Remove Connector client methods, but leave constructor on
          MTBW in place for testing purposes.

          Show
          jira-bot ASF subversion and git services added a comment - Commit c8e607fe381242492fc7e8c84b4fb0f1e000d3aa in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=c8e607f ] ACCUMULO-1833 Remove Connector client methods, but leave constructor on MTBW in place for testing purposes.
          Hide
          elserj Josh Elser added a comment -

          Ok, I'll be pushing some changes shortly to address Table cache invalidation. One thing that worries me (not sure if it should), but using an AtomicInteger does introduce the possibility of int overflow in a long-running process.

          Should we care about this? Is using an AtomicLong better? Thoughts on how best to work around that?

          Show
          elserj Josh Elser added a comment - Ok, I'll be pushing some changes shortly to address Table cache invalidation. One thing that worries me (not sure if it should), but using an AtomicInteger does introduce the possibility of int overflow in a long-running process. Should we care about this? Is using an AtomicLong better? Thoughts on how best to work around that?
          Hide
          kturner Keith Turner added a comment -

          As I said earlier, I am only in favor of a change in 1.5.x that does not change API or behavior. I do not think we should change the behavior of something like the following.

            mtbw = conn.createMultilTableBatchWriter(...)
            conn.tableOperations().rename("a","a_old");
            conn.tableOperations().rename("a_tmp","a");
            bw = mtbw.getBatchWriter("a");
          
          Show
          kturner Keith Turner added a comment - As I said earlier, I am only in favor of a change in 1.5.x that does not change API or behavior. I do not think we should change the behavior of something like the following. mtbw = conn.createMultilTableBatchWriter(...) conn.tableOperations().rename( "a" , "a_old" ); conn.tableOperations().rename( "a_tmp" , "a" ); bw = mtbw.getBatchWriter( "a" );
          Hide
          elserj Josh Elser added a comment -

          True, but I will state that the entire premise of this ticket is that we're changing the semantics of MTBW. The "common" use case that its API allows is for highly concurrent access and, as such, the semantics of it have changed.

          I'll look into some sort of notification mechanism like you suggested.

          Show
          elserj Josh Elser added a comment - True, but I will state that the entire premise of this ticket is that we're changing the semantics of MTBW. The "common" use case that its API allows is for highly concurrent access and, as such, the semantics of it have changed. I'll look into some sort of notification mechanism like you suggested.
          Hide
          kturner Keith Turner added a comment -

          There is a problem w/ the assumption that MTBW.getBatchWriter() is eventually consistent and we can therefore cache for short periods. This is not true within the same client code. The Accumulo client code tries to make things immediately consistent within a single process. This happens because operations like rename table clear the local table id cache, so creating a scanner would see the change made by rename.

          We can not have time based cache in MTBW.getBatchWriter() and maintain current semantics. If we cache in MTBW, then an operation like rename table needs to cause the cache to clear itself. Maybe clearing the table id cache could increment an atomic counter and MTBW.getBatchWriter() could check this counter.

          Show
          kturner Keith Turner added a comment - There is a problem w/ the assumption that MTBW.getBatchWriter() is eventually consistent and we can therefore cache for short periods. This is not true within the same client code. The Accumulo client code tries to make things immediately consistent within a single process. This happens because operations like rename table clear the local table id cache, so creating a scanner would see the change made by rename. We can not have time based cache in MTBW.getBatchWriter() and maintain current semantics. If we cache in MTBW, then an operation like rename table needs to cause the cache to clear itself. Maybe clearing the table id cache could increment an atomic counter and MTBW.getBatchWriter() could check this counter.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 0be6f0a79ef404839ab64d60f16991c6031a93a3 in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=0be6f0a ]

          ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
          avoid it getting GC'ed later and trying to flush when ZK and the
          instance is already gone.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 0be6f0a79ef404839ab64d60f16991c6031a93a3 in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=0be6f0a ] ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to avoid it getting GC'ed later and trying to flush when ZK and the instance is already gone.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit fe8a33e4e3c39457ea54b2728738c275c15392da in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=fe8a33e ]

          ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
          (update internal boolean then perform the close)

          Show
          jira-bot ASF subversion and git services added a comment - Commit fe8a33e4e3c39457ea54b2728738c275c15392da in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=fe8a33e ] ACCUMULO-1833 Update MTBW close method to match what TSBW is doing (update internal boolean then perform the close)
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit a5c83d6ef03ef506bf25fac313c65b4f906183e2 in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=a5c83d6 ]

          ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
          AtomicBoolean with expected concurrent access.

          Show
          jira-bot ASF subversion and git services added a comment - Commit a5c83d6ef03ef506bf25fac313c65b4f906183e2 in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=a5c83d6 ] ACCUMULO-1833 Another instance of primitive without synchronization being used instead of AtomicBoolean with expected concurrent access.
          Hide
          elserj Josh Elser added a comment -

          I noticed that I'm seeing the ShellServerTest run after the MultiTableBatchWriterTest. The finalizer appears to be trying to call close on a MTBW who has a lock on the TabletLocator class (static synchronized method on the class) and there are a bunch of other tests which are locked trying to get this lock. I wonder if I just need to be more aggressive with closing resources in my test.

          "Finalizer" daemon prio=5 tid=0x00007fedbc051800 nid=0x3903 in Object.wait() [0x000000011a021000]
             java.lang.Thread.State: TIMED_WAITING (on object monitor)
          	at java.lang.Object.wait(Native Method)
          	- waiting on <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache)
          	at org.apache.accumulo.fate.zookeeper.ZooCache.retry(ZooCache.java:146)
          	- locked <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache)
          	at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:233)
          	- locked <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache)
          	at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:188)
          	- locked <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache)
          	at org.apache.accumulo.core.client.ZooKeeperInstance.getInstanceID(ZooKeeperInstance.java:151)
          	at org.apache.accumulo.core.client.impl.TabletLocator.getInstance(TabletLocator.java:96)
          	- locked <0x00000007aecd5928> (a java.lang.Class for org.apache.accumulo.core.client.impl.TabletLocator)
          	at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.getLocator(TabletServerBatchWriter.java:636)
          	at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.binMutations(TabletServerBatchWriter.java:648)
          	at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.addMutations(TabletServerBatchWriter.java:696)
          	at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.startProcessing(TabletServerBatchWriter.java:232)
          	- locked <0x00000007aeb31408> (a org.apache.accumulo.core.client.impl.TabletServerBatchWriter)
          	at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.close(TabletServerBatchWriter.java:345)
          	- locked <0x00000007aeb31408> (a org.apache.accumulo.core.client.impl.TabletServerBatchWriter)
          	at org.apache.accumulo.core.client.impl.MultiTableBatchWriterImpl.close(MultiTableBatchWriterImpl.java:126)
          	at org.apache.accumulo.core.client.impl.MultiTableBatchWriterImpl.finalize(MultiTableBatchWriterImpl.java:138)
          	at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
          	at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:101)
          	at java.lang.ref.Finalizer.access$100(Finalizer.java:32)
          	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:190)
          
             Locked ownable synchronizers:
          	- None
          
          Show
          elserj Josh Elser added a comment - I noticed that I'm seeing the ShellServerTest run after the MultiTableBatchWriterTest. The finalizer appears to be trying to call close on a MTBW who has a lock on the TabletLocator class (static synchronized method on the class) and there are a bunch of other tests which are locked trying to get this lock. I wonder if I just need to be more aggressive with closing resources in my test. "Finalizer" daemon prio=5 tid=0x00007fedbc051800 nid=0x3903 in Object.wait() [0x000000011a021000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache) at org.apache.accumulo.fate.zookeeper.ZooCache.retry(ZooCache.java:146) - locked <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache) at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:233) - locked <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache) at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:188) - locked <0x00000007aeb30878> (a org.apache.accumulo.fate.zookeeper.ZooCache) at org.apache.accumulo.core.client.ZooKeeperInstance.getInstanceID(ZooKeeperInstance.java:151) at org.apache.accumulo.core.client.impl.TabletLocator.getInstance(TabletLocator.java:96) - locked <0x00000007aecd5928> (a java.lang.Class for org.apache.accumulo.core.client.impl.TabletLocator) at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.getLocator(TabletServerBatchWriter.java:636) at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.binMutations(TabletServerBatchWriter.java:648) at org.apache.accumulo.core.client.impl.TabletServerBatchWriter$MutationWriter.addMutations(TabletServerBatchWriter.java:696) at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.startProcessing(TabletServerBatchWriter.java:232) - locked <0x00000007aeb31408> (a org.apache.accumulo.core.client.impl.TabletServerBatchWriter) at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.close(TabletServerBatchWriter.java:345) - locked <0x00000007aeb31408> (a org.apache.accumulo.core.client.impl.TabletServerBatchWriter) at org.apache.accumulo.core.client.impl.MultiTableBatchWriterImpl.close(MultiTableBatchWriterImpl.java:126) at org.apache.accumulo.core.client.impl.MultiTableBatchWriterImpl.finalize(MultiTableBatchWriterImpl.java:138) at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method) at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:101) at java.lang.ref.Finalizer.access$100(Finalizer.java:32) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:190) Locked ownable synchronizers: - None
          Hide
          elserj Josh Elser added a comment -

          First stab at changes and tests:

          git fetch && git diff origin/1.5.1-SNAPSHOT..origin/ACCUMULO-1833-caching

          Show
          elserj Josh Elser added a comment - First stab at changes and tests: git fetch && git diff origin/1.5.1-SNAPSHOT..origin/ ACCUMULO-1833 -caching
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 3b6eade61e12fd35af293633c1c3cc5393252d86 in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=3b6eade ]

          ACCUMULO-1833 Tests for expected functionality in the face of table
          operations.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 3b6eade61e12fd35af293633c1c3cc5393252d86 in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=3b6eade ] ACCUMULO-1833 Tests for expected functionality in the face of table operations.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit cba87980cbd731338c58f05734ebb3d3e683b440 in branch refs/heads/ACCUMULO-1833-caching from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=cba8798 ]

          ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
          zookeeper lock contention and get better concurrent throughput.

          Show
          jira-bot ASF subversion and git services added a comment - Commit cba87980cbd731338c58f05734ebb3d3e683b440 in branch refs/heads/ ACCUMULO-1833 -caching from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=cba8798 ] ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove zookeeper lock contention and get better concurrent throughput.
          Hide
          kturner Keith Turner added a comment -

          Josh Elser a functional test that checks the behavior of getBatchWriter() after renaming and deleting tables would be really good. Could also check basics like read and write. Could do this in addition to or instead of a random walk test. You could easily add a node for MTBW to the concurrent random walk test which operates on 5 tables. Howerver you will not get a sense of correctness of the MTBW itself. That test just tries to make Accumulo fall over and die. The shard random walk test uses multiple tables (and index and document table) and does rename them so it would be a good candidate to look into using the MTBW.

          Show
          kturner Keith Turner added a comment - Josh Elser a functional test that checks the behavior of getBatchWriter() after renaming and deleting tables would be really good. Could also check basics like read and write. Could do this in addition to or instead of a random walk test. You could easily add a node for MTBW to the concurrent random walk test which operates on 5 tables. Howerver you will not get a sense of correctness of the MTBW itself. That test just tries to make Accumulo fall over and die. The shard random walk test uses multiple tables (and index and document table) and does rename them so it would be a good candidate to look into using the MTBW.
          Hide
          elserj Josh Elser added a comment -

          Obv didn't get to it today. It's at the top of my list for tomorrow. I'll make sure we have something for randomwalk – good suggestion, John Vines.

          Show
          elserj Josh Elser added a comment - Obv didn't get to it today. It's at the top of my list for tomorrow. I'll make sure we have something for randomwalk – good suggestion, John Vines .
          Hide
          vines John Vines added a comment -

          I consider this a non-critical performance bug, and should be handled in a future release, whether it's all bugfix releases or just 1.7.0, I could go either way.

          If we do decide on bugfix releases and it's done this week, maybe I'll look the other way, provided it doesn't introduce any crazy issues. Is there a randomwalk test that uses the MTBW?

          Show
          vines John Vines added a comment - I consider this a non-critical performance bug, and should be handled in a future release, whether it's all bugfix releases or just 1.7.0, I could go either way. If we do decide on bugfix releases and it's done this week, maybe I'll look the other way, provided it doesn't introduce any crazy issues. Is there a randomwalk test that uses the MTBW?
          Hide
          kturner Keith Turner added a comment -

          1.5.1, 1.6.1, and 1.7.0 seem like the best option to me. I don't want to see 1.6.0 get held up and we've already drawn the line in the sand last week.

          At this point (past feature freeze) we should be finding and fixing bugs in 1.6.0. If its a bug fix then it should go in 1.6.0. If its not a bug fix then it should not go in 1.5.1 or 1.6.0.

          Show
          kturner Keith Turner added a comment - 1.5.1, 1.6.1, and 1.7.0 seem like the best option to me. I don't want to see 1.6.0 get held up and we've already drawn the line in the sand last week. At this point (past feature freeze) we should be finding and fixing bugs in 1.6.0. If its a bug fix then it should go in 1.6.0. If its not a bug fix then it should not go in 1.5.1 or 1.6.0.
          Hide
          mdrob Mike Drob added a comment -

          Should this go in 1.6.0 or >=1.6.1? I figured I'd put it in 1.5.1 either way.

          1.5.1, 1.6.1, and 1.7.0 seem like the best option to me. I don't want to see 1.6.0 get held up and we've already drawn the line in the sand last week.

          Show
          mdrob Mike Drob added a comment - Should this go in 1.6.0 or >=1.6.1? I figured I'd put it in 1.5.1 either way. 1.5.1, 1.6.1, and 1.7.0 seem like the best option to me. I don't want to see 1.6.0 get held up and we've already drawn the line in the sand last week.
          Hide
          kturner Keith Turner added a comment -

          Should this go in 1.6.0 or >=1.6.1?

          I think its a performance bug fix and should go in 1.6.0.

          Show
          kturner Keith Turner added a comment - Should this go in 1.6.0 or >=1.6.1? I think its a performance bug fix and should go in 1.6.0.
          Hide
          elserj Josh Elser added a comment -

          Nope, just wanted to handle the system clock jumping backwards. Hopefully Guava's cache would handle this.

          Ok, cool. I'll try to get to this today. I'll try to peek at the implementation again, but I think it handles this ok.

          Should this go in 1.6.0 or >=1.6.1? I figured I'd put it in 1.5.1 either way.

          Show
          elserj Josh Elser added a comment - Nope, just wanted to handle the system clock jumping backwards. Hopefully Guava's cache would handle this. Ok, cool. I'll try to get to this today. I'll try to peek at the implementation again, but I think it handles this ok. Should this go in 1.6.0 or >=1.6.1? I figured I'd put it in 1.5.1 either way.
          Hide
          kturner Keith Turner added a comment -

          Are you considering something larger than that?

          Nope, just wanted to handle the system clock jumping backwards. Hopefully Guava's cache would handle this.

          Show
          kturner Keith Turner added a comment - Are you considering something larger than that? Nope, just wanted to handle the system clock jumping backwards. Hopefully Guava's cache would handle this.
          Hide
          elserj Josh Elser added a comment -

          There's always Guava's cache which has a time-based expiration policy (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html).

          Would need to ensure time going backwards is handled properly (just drop the cache entry).

          I was just thinking about a per-VM cache (at which point we only have to worry about the system clock drastically changing). Are you considering something larger than that?

          Show
          elserj Josh Elser added a comment - There's always Guava's cache which has a time-based expiration policy ( http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html ). Would need to ensure time going backwards is handled properly (just drop the cache entry). I was just thinking about a per-VM cache (at which point we only have to worry about the system clock drastically changing). Are you considering something larger than that?
          Hide
          kturner Keith Turner added a comment -

          can't we make a time-sensitive cache (i.e. hold on to things for 5 seconds) that maintains the same semantics and still fixes this performance issue?

          That sounds good. Would need to ensure time going backwards is handled properly (just drop the cache entry). A "small" timeout could be determined empirically. If this approach looks promising, this should be marked a bug (it fixes a performance problem and does not change behavior or API) and fixed in earlier releases.

          Show
          kturner Keith Turner added a comment - can't we make a time-sensitive cache (i.e. hold on to things for 5 seconds) that maintains the same semantics and still fixes this performance issue? That sounds good. Would need to ensure time going backwards is handled properly (just drop the cache entry). A "small" timeout could be determined empirically. If this approach looks promising, this should be marked a bug (it fixes a performance problem and does not change behavior or API) and fixed in earlier releases.
          Hide
          elserj Josh Elser added a comment -

          Since the late binding is eventually consistent anyway, can't we make a time-sensitive cache (i.e. hold on to things for 5 seconds) that maintains the same semantics and still fixes this performance issue?

          That would at least alleviate the lock contention on ZooCache, but that's really just pushing the problem down a little farther. Perhaps it would push it far enough that clients would see it until they're at 100+ threads in one JVM? That'd probably be sufficient for a fix to this ticket.

          Digging through the code made it relatively apparent to me that there was a design decision that one ZooKeeperInstance (and Connectors from that Instance) will share a cache on top of ZK. If we want to talk about making changes to let the API be accessed more concurrently within one VM, I think we'd want to start at that point rather than try to address it at every usage of the caching.

          Show
          elserj Josh Elser added a comment - Since the late binding is eventually consistent anyway, can't we make a time-sensitive cache (i.e. hold on to things for 5 seconds) that maintains the same semantics and still fixes this performance issue? That would at least alleviate the lock contention on ZooCache, but that's really just pushing the problem down a little farther. Perhaps it would push it far enough that clients would see it until they're at 100+ threads in one JVM? That'd probably be sufficient for a fix to this ticket. Digging through the code made it relatively apparent to me that there was a design decision that one ZooKeeperInstance (and Connectors from that Instance) will share a cache on top of ZK. If we want to talk about making changes to let the API be accessed more concurrently within one VM, I think we'd want to start at that point rather than try to address it at every usage of the caching.
          Hide
          afuchs Adam Fuchs added a comment -

          A simple way to avoid this extra work would be to make the cache in MultiTableBatchWriter use table names instead of table ids (the lookup in the cache could be done immediately and if a hash map was used would have constant time cost). But that change in behavior could break any existing code that relies on the current late binding of the table name to table id.

          Since the late binding is eventually consistent anyway, can't we make a time-sensitive cache (i.e. hold on to things for 5 seconds) that maintains the same semantics and still fixes this performance issue?

          Show
          afuchs Adam Fuchs added a comment - A simple way to avoid this extra work would be to make the cache in MultiTableBatchWriter use table names instead of table ids (the lookup in the cache could be done immediately and if a hash map was used would have constant time cost). But that change in behavior could break any existing code that relies on the current late binding of the table name to table id. Since the late binding is eventually consistent anyway, can't we make a time-sensitive cache (i.e. hold on to things for 5 seconds) that maintains the same semantics and still fixes this performance issue?
          Hide
          vines John Vines added a comment -

          All the more reason to dump the cache - it's not doing much except making confusing client code

          Show
          vines John Vines added a comment - All the more reason to dump the cache - it's not doing much except making confusing client code
          Hide
          kturner Keith Turner added a comment -

          Another option would be to add a call to get a batch writer with just a table ID.

          This is still kinda cumbersome. If the user calls getBatchWriterByTableId(tableOperations.tableIdMap().get(tableName)), then we are back where we started. The javadoc for this method would need to instruct the user to only call tableOperations.tableIdMap() once and keep the map.

          However, I do feel if we're going to encourage users to cache the BWs themselves, then we should remove the internal caching in the MTBW code

          Taking a closer look at the code, the cache is not really doing much. Whats cached is a TableBatchWriter object which is a very thin layer around a TabletServerBatchWriter. MultitableBatchWriterImpl only has one TabletServerBatchWriter. All the cache is really doing is avoiding object creation, but there is a ton of object creation in getBatchWriter() before the cache.

          Show
          kturner Keith Turner added a comment - Another option would be to add a call to get a batch writer with just a table ID. This is still kinda cumbersome. If the user calls getBatchWriterByTableId(tableOperations.tableIdMap().get(tableName)) , then we are back where we started. The javadoc for this method would need to instruct the user to only call tableOperations.tableIdMap() once and keep the map. However, I do feel if we're going to encourage users to cache the BWs themselves, then we should remove the internal caching in the MTBW code Taking a closer look at the code, the cache is not really doing much. Whats cached is a TableBatchWriter object which is a very thin layer around a TabletServerBatchWriter. MultitableBatchWriterImpl only has one TabletServerBatchWriter. All the cache is really doing is avoiding object creation, but there is a ton of object creation in getBatchWriter() before the cache.
          Hide
          vines John Vines added a comment -

          Another option would be to add a call to get a batch writer with just a table ID.

          However, I do feel if we're going to encourage users to cache the BWs themselves, then we should remove the internal caching in the MTBW code

          Show
          vines John Vines added a comment - Another option would be to add a call to get a batch writer with just a table ID. However, I do feel if we're going to encourage users to cache the BWs themselves, then we should remove the internal caching in the MTBW code
          Hide
          kturner Keith Turner added a comment -

          The following code has been commented on a few times.

          String tableId = Tables.getNameToIdMap(instance).get(tableName);
          

          Its doing a scan of all tables and creating a treemap (lots of object creation). For T table and M mutations code that repeatedly calls getBatchWriter() is doing T*log(T) * M work. This could be optimized to linear scan of the information in zookeeper resulting in T * M work. A simple way to avoid this extra work would be to make the cache in MultiTableBatchWriter use table names instead of table ids (the lookup in the cache could be done immediately and if a hash map was used would have constant time cost). But that change in behavior could break any existing code that relies on the current late binding of the table name to table id.

          I'm thinking a good fix for this ticket would be some javadoc explaining the late binding and associated cost AND encourage users to cache for repeated use.

          Show
          kturner Keith Turner added a comment - The following code has been commented on a few times. String tableId = Tables.getNameToIdMap(instance).get(tableName); Its doing a scan of all tables and creating a treemap (lots of object creation). For T table and M mutations code that repeatedly calls getBatchWriter() is doing T*log(T) * M work. This could be optimized to linear scan of the information in zookeeper resulting in T * M work. A simple way to avoid this extra work would be to make the cache in MultiTableBatchWriter use table names instead of table ids (the lookup in the cache could be done immediately and if a hash map was used would have constant time cost). But that change in behavior could break any existing code that relies on the current late binding of the table name to table id. I'm thinking a good fix for this ticket would be some javadoc explaining the late binding and associated cost AND encourage users to cache for repeated use.
          Hide
          cmccubbin Chris McCubbin added a comment -

          Josh Elser : that's some really good info. Thanks.

          Show
          cmccubbin Chris McCubbin added a comment - Josh Elser : that's some really good info. Thanks.
          Hide
          elserj Josh Elser added a comment -

          This has been a fun exercise for me. Short answer – just cache the BatchWriters that MTBW gives you.

          Long answer: you can work around a bit of the ZooCache code, but it defeats the purpose of the class a bit. For the sake of the argument, we can go down this path. The first thing you'll run into with multiple threads using the same MultiTableBatchWriter is that you'll spend a large amount of time (relative to the underlying ZooCache methods) contending over the synchronized methods (get, notably) on ZooCache.

          1. o.a.a.f.z.ZooCache#getInstance(String, int): With ThreadLocals, you can get multiple instances of ZooCache to avoid the lock contention on the single instance of ZooCache by having an instance of ZooCache per thread. This removes the thread contention on ZooCache.get in Tables.getMap(Instance, boolean).

          2. Next, you'll find that the MultiTableBatchWriterImpl keeps a handle to the original Instance from the Connector the MTBWI was created from. ZooKeeperInstance has, you guessed it, an instance of ZooCache. Inside of Tables.getMap(Instance, boolean), you'll see that there are also calls to ZooUtil.getRoot(Instance). So, again, you have a single instance of ZooCache being shared across multiple threads and you have the same synchronization penalty. Again, you can get around this with a bit of funny-business in MTBWI by making a new Instance in a ThreadLocal so each thread has its own Instance and thus ZooCache.

          3. Next, you'll get down into ZooCache.retry(ZooRunnable)! This will trace down to actually get the o.a.z.ZooKeeper object. This then calls a static synchronized method (noooooo) which introduces the same thread contention. Changing o.a.a.f.z.ZooSession's 'sessions' member from a HashMap to a ConcurrentHashMap and removing the synchronized from the getSessions method finally gets us full thread utilization.

          I haven't fully wrapped my head around #3 to guess as to whether or not it's actually safe to do what I did, but it at least does what I expected it to . Point still stands, a lot of this introduces a fair bit of unintuitive complexity that probably isn't worth it. For your case, cache the BatchWriters in your application. For the general case, if you have multiple threads in the same JVM accessing the same Accumulo instance, it is likely a good idea to create multiple ZooKeeperInstances as all objects created from the Connector from that Instance likely share the same ZooCache instance. I would guess that it wasn't initially intended to have multiple threads accessing the same Instance in high rapidity.

          Show
          elserj Josh Elser added a comment - This has been a fun exercise for me. Short answer – just cache the BatchWriters that MTBW gives you. Long answer: you can work around a bit of the ZooCache code, but it defeats the purpose of the class a bit. For the sake of the argument, we can go down this path. The first thing you'll run into with multiple threads using the same MultiTableBatchWriter is that you'll spend a large amount of time (relative to the underlying ZooCache methods) contending over the synchronized methods (get, notably) on ZooCache. 1. o.a.a.f.z.ZooCache#getInstance(String, int): With ThreadLocals, you can get multiple instances of ZooCache to avoid the lock contention on the single instance of ZooCache by having an instance of ZooCache per thread. This removes the thread contention on ZooCache.get in Tables.getMap(Instance, boolean). 2. Next, you'll find that the MultiTableBatchWriterImpl keeps a handle to the original Instance from the Connector the MTBWI was created from. ZooKeeperInstance has, you guessed it, an instance of ZooCache. Inside of Tables.getMap(Instance, boolean), you'll see that there are also calls to ZooUtil.getRoot(Instance). So, again, you have a single instance of ZooCache being shared across multiple threads and you have the same synchronization penalty. Again, you can get around this with a bit of funny-business in MTBWI by making a new Instance in a ThreadLocal so each thread has its own Instance and thus ZooCache. 3. Next, you'll get down into ZooCache.retry(ZooRunnable)! This will trace down to actually get the o.a.z.ZooKeeper object. This then calls a static synchronized method (noooooo) which introduces the same thread contention. Changing o.a.a.f.z.ZooSession's 'sessions' member from a HashMap to a ConcurrentHashMap and removing the synchronized from the getSessions method finally gets us full thread utilization. I haven't fully wrapped my head around #3 to guess as to whether or not it's actually safe to do what I did, but it at least does what I expected it to . Point still stands, a lot of this introduces a fair bit of unintuitive complexity that probably isn't worth it. For your case, cache the BatchWriters in your application. For the general case, if you have multiple threads in the same JVM accessing the same Accumulo instance, it is likely a good idea to create multiple ZooKeeperInstances as all objects created from the Connector from that Instance likely share the same ZooCache instance. I would guess that it wasn't initially intended to have multiple threads accessing the same Instance in high rapidity.
          Hide
          cmccubbin Chris McCubbin added a comment -

          The patch didn't seem to improve things much. If it helps, here's a snapshot from the profiler showing which methods are taking the most time.

          Show
          cmccubbin Chris McCubbin added a comment - The patch didn't seem to improve things much. If it helps, here's a snapshot from the profiler showing which methods are taking the most time.
          Hide
          billie.rinaldi Billie Rinaldi added a comment -

          I did a plain test of ZooCache and it seemed okay. So now I'm wondering if the issue is related to the way this code gets the ZooCache. It's ultimately reusing the same ZooCache, but it goes through some hoops to retrieve it each time. Could you try out something like the attached patch and let us know if it has any effect on performance?

          Show
          billie.rinaldi Billie Rinaldi added a comment - I did a plain test of ZooCache and it seemed okay. So now I'm wondering if the issue is related to the way this code gets the ZooCache. It's ultimately reusing the same ZooCache, but it goes through some hoops to retrieve it each time. Could you try out something like the attached patch and let us know if it has any effect on performance?
          Hide
          cmccubbin Chris McCubbin added a comment -

          The scenario I was running was 10 threads continuously writing mutations to one table spread across 40 tablets. The tests are being done on a OSX i7 4 core laptop that is running an installation of 1.5.0.

          This was an "end to end" test of our system and not isolated to the MultiTableBatchWriter. The profiler is indicating that a large percentage of the time for this test (10's of percents) is being spent in getBatchWriter().

          I can try to create a more isolated test rig that shows the behavior, but it might take a few days to get to it.

          Show
          cmccubbin Chris McCubbin added a comment - The scenario I was running was 10 threads continuously writing mutations to one table spread across 40 tablets. The tests are being done on a OSX i7 4 core laptop that is running an installation of 1.5.0. This was an "end to end" test of our system and not isolated to the MultiTableBatchWriter. The profiler is indicating that a large percentage of the time for this test (10's of percents) is being spent in getBatchWriter(). I can try to create a more isolated test rig that shows the behavior, but it might take a few days to get to it.
          Hide
          elserj Josh Elser added a comment -

          Chris McCubbin I've been playing around with this. Can you give any insight into the type of workload you were running when you saw this?

          Even distribution of mutations across many tables? Many to one table and few to many tables? How many threads is "multiple"?

          Show
          elserj Josh Elser added a comment - Chris McCubbin I've been playing around with this. Can you give any insight into the type of workload you were running when you saw this? Even distribution of mutations across many tables? Many to one table and few to many tables? How many threads is "multiple"?
          Hide
          billie.rinaldi Billie Rinaldi added a comment - - edited

          It would be better if it didn't have to do the table name to id lookup each time, and that would be avoided if the app had its own cache based on name. We could consider adding a new method that gets based on the id rather than the name, but I don't think we should change the existing method to use the id.

          In any case it seems like there might be a problem with the ZooCache that we should fix.

          Show
          billie.rinaldi Billie Rinaldi added a comment - - edited It would be better if it didn't have to do the table name to id lookup each time, and that would be avoided if the app had its own cache based on name. We could consider adding a new method that gets based on the id rather than the name, but I don't think we should change the existing method to use the id. In any case it seems like there might be a problem with the ZooCache that we should fix.
          Hide
          vines John Vines added a comment -

          The MTBW already caches them, so why should there be two rounded of caching necessary?

          Show
          vines John Vines added a comment - The MTBW already caches them, so why should there be two rounded of caching necessary?
          Hide
          elserj Josh Elser added a comment -

          Obligatory: you can/should still be caching the BatchWriters you get from the MTBW to avoid the repeated calls to ZooCache

          I'd assume you already can to that conclusion, though.

          Show
          elserj Josh Elser added a comment - Obligatory: you can/should still be caching the BatchWriters you get from the MTBW to avoid the repeated calls to ZooCache I'd assume you already can to that conclusion, though.
          Hide
          vines John Vines added a comment -

          Which is strange, because that ID should be cached locally from ZK.

          Show
          vines John Vines added a comment - Which is strange, because that ID should be cached locally from ZK.
          Hide
          cmccubbin Chris McCubbin added a comment -

          Further investigation is showing also that the line

          String tableId = Tables.getNameToIdMap(instance).get(tableName);
          

          Is also quite slow.

          So I'm not sure a simple patch with suffice here, since the table name to tableId mapping isn't static. I just made a patch that replaces the table name argument with a table ID (that I am caching myself) and performance is greatly improved.

          Show
          cmccubbin Chris McCubbin added a comment - Further investigation is showing also that the line String tableId = Tables.getNameToIdMap(instance).get(tableName); Is also quite slow. So I'm not sure a simple patch with suffice here, since the table name to tableId mapping isn't static. I just made a patch that replaces the table name argument with a table ID (that I am caching myself) and performance is greatly improved.
          Hide
          elserj Josh Elser added a comment -

          A patch for the MultiTableBatchWriterImpl and a driver program that shows the difference in performance would be strongly encouraged

          Show
          elserj Josh Elser added a comment - A patch for the MultiTableBatchWriterImpl and a driver program that shows the difference in performance would be strongly encouraged

            People

            • Assignee:
              elserj Josh Elser
              Reporter:
              cmccubbin Chris McCubbin
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development