You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2016/02/12 01:37:23 UTC
[6/8] accumulo git commit: Merge branch '1.6' into 1.7
Merge branch '1.6' into 1.7
Conflicts:
server/base/src/main/java/org/apache/accumulo/server/master/state/CurrentState.java
server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
server/master/src/main/java/org/apache/accumulo/master/Master.java
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/69185edb
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/69185edb
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/69185edb
Branch: refs/heads/master
Commit: 69185edb1e02616ae4e34cefeb88f721a77d76e6
Parents: a2b15bf f1e4f9a
Author: Christopher Tubbs <ct...@apache.org>
Authored: Thu Feb 11 19:07:05 2016 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Thu Feb 11 19:07:05 2016 -0500
----------------------------------------------------------------------
NOTICE | 2 +-
assemble/bin-NOTICE | 2 +-
docs/src/main/asciidoc/accumulo_user_manual.asciidoc | 2 +-
.../apache/accumulo/server/master/state/CurrentState.java | 5 ++++-
.../server/master/state/MetaDataTableScanner.java | 2 +-
server/base/src/main/javadoc/META-INF/NOTICE | 2 +-
.../src/main/java/org/apache/accumulo/master/Master.java | 10 +++-------
.../java/org/apache/accumulo/master/TestMergeState.java | 4 ++--
server/monitor/src/main/javadoc/META-INF/NOTICE | 2 +-
server/native/src/main/resources/NOTICE | 2 +-
.../test/functional/TabletStateChangeIteratorIT.java | 4 ++--
11 files changed, 18 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/NOTICE
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/docs/src/main/asciidoc/accumulo_user_manual.asciidoc
----------------------------------------------------------------------
diff --cc docs/src/main/asciidoc/accumulo_user_manual.asciidoc
index 32f19fe,0000000..4bb87cd
mode 100644,000000..100644
--- a/docs/src/main/asciidoc/accumulo_user_manual.asciidoc
+++ b/docs/src/main/asciidoc/accumulo_user_manual.asciidoc
@@@ -1,70 -1,0 +1,70 @@@
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+Apache Accumulo User Manual Version 1.7
+=======================================
+:author: Apache Accumulo Project
+:email: dev@accumulo.apache.org
+:toc2:
+:toclevels: 4
+:toc-title: Apache Accumulo 1.7
+:numbered:
+:website: http://accumulo.apache.org/
+
+image::accumulo-logo.png[]
+
- Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache
++Copyright © 2011-2016 The Apache Software Foundation, Licensed under the Apache
+License, Version 2.0. Apache Accumulo, Accumulo, Apache, and the Apache
+Accumulo project logo are trademarks of the Apache Software Foundation.
+
+include::chapters/introduction.txt[]
+
+include::chapters/design.txt[]
+
+include::chapters/shell.txt[]
+
+include::chapters/clients.txt[]
+
+include::chapters/development_clients.txt[]
+
+include::chapters/table_configuration.txt[]
+
+include::chapters/iterator_design.txt[]
+
+include::chapters/table_design.txt[]
+
+include::chapters/high_speed_ingest.txt[]
+
+include::chapters/analytics.txt[]
+
+include::chapters/security.txt[]
+
+include::chapters/replication.txt[]
+
+include::chapters/implementation.txt[]
+
+include::chapters/ssl.txt[]
+
+include::chapters/kerberos.txt[]
+
+include::chapters/administration.txt[]
+
+include::chapters/multivolume.txt[]
+
+include::chapters/troubleshooting.txt[]
+
+[appendix]
+include::appendices/config.txt[]
+
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/server/base/src/main/java/org/apache/accumulo/server/master/state/CurrentState.java
----------------------------------------------------------------------
diff --cc server/base/src/main/java/org/apache/accumulo/server/master/state/CurrentState.java
index 8b1c6f3,467c7b7..c7f8b5d
--- a/server/base/src/main/java/org/apache/accumulo/server/master/state/CurrentState.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/master/state/CurrentState.java
@@@ -28,11 -27,10 +28,14 @@@ public interface CurrentState
Set<TServerInstance> onlineTabletServers();
+ Set<TServerInstance> shutdownServers();
+
Collection<MergeInfo> merges();
- Collection<KeyExtent> migrations();
+ /**
+ * Provide an immutable snapshot view of migrating tablets. Objects contained in the set may still be mutable.
+ */
+ Set<KeyExtent> migrationsSnapshot();
+
+ MasterState getMasterState();
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
----------------------------------------------------------------------
diff --cc server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
index d64c108,c6ad89b..81eff0f
--- a/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
@@@ -86,9 -86,7 +86,9 @@@ public class MetaDataTableScanner imple
TabletStateChangeIterator.setCurrentServers(tabletChange, state.onlineTabletServers());
TabletStateChangeIterator.setOnlineTables(tabletChange, state.onlineTables());
TabletStateChangeIterator.setMerges(tabletChange, state.merges());
- TabletStateChangeIterator.setMigrations(tabletChange, state.migrations());
+ TabletStateChangeIterator.setMigrations(tabletChange, state.migrationsSnapshot());
+ TabletStateChangeIterator.setMasterState(tabletChange, state.getMasterState());
+ TabletStateChangeIterator.setShuttingDown(tabletChange, state.shutdownServers());
}
scanner.addScanIterator(tabletChange);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/server/master/src/main/java/org/apache/accumulo/master/Master.java
----------------------------------------------------------------------
diff --cc server/master/src/main/java/org/apache/accumulo/master/Master.java
index 1370989,cc4a02f..5a2a346
--- a/server/master/src/main/java/org/apache/accumulo/master/Master.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java
@@@ -1517,71 -1331,12 +1513,71 @@@ public class Master extends AccumuloSer
}
}
+ public void waitForBalance(TInfo tinfo) {
+ synchronized (balancedNotifier) {
+ long eventCounter;
+ do {
+ eventCounter = nextEvent.waitForEvents(0, 0);
+ try {
+ balancedNotifier.wait();
+ } catch (InterruptedException e) {
+ log.debug(e.toString(), e);
+ }
+ } while (displayUnassigned() > 0 || migrations.size() > 0 || eventCounter != nextEvent.waitForEvents(0, 0));
+ }
+ }
+
+ public MasterMonitorInfo getMasterMonitorInfo() {
+ final MasterMonitorInfo result = new MasterMonitorInfo();
+
+ result.tServerInfo = new ArrayList<TabletServerStatus>();
+ result.tableMap = new DefaultMap<String,TableInfo>(new TableInfo());
+ for (Entry<TServerInstance,TabletServerStatus> serverEntry : tserverStatus.entrySet()) {
+ final TabletServerStatus status = serverEntry.getValue();
+ result.tServerInfo.add(status);
+ for (Entry<String,TableInfo> entry : status.tableMap.entrySet()) {
+ TableInfoUtil.add(result.tableMap.get(entry.getKey()), entry.getValue());
+ }
+ }
+ result.badTServers = new HashMap<String,Byte>();
+ synchronized (badServers) {
+ for (TServerInstance bad : badServers.keySet()) {
+ result.badTServers.put(bad.hostPort(), TabletServerState.UNRESPONSIVE.getId());
+ }
+ }
+ result.state = getMasterState();
+ result.goalState = getMasterGoalState();
+ result.unassignedTablets = displayUnassigned();
+ result.serversShuttingDown = new HashSet<String>();
+ synchronized (serversToShutdown) {
+ for (TServerInstance server : serversToShutdown)
+ result.serversShuttingDown.add(server.hostPort());
+ }
+ DeadServerList obit = new DeadServerList(ZooUtil.getRoot(getInstance()) + Constants.ZDEADTSERVERS);
+ result.deadTabletServers = obit.getList();
+ return result;
+ }
+
+ /**
+ * Can delegation tokens be generated for users
+ */
+ public boolean delegationTokensAvailable() {
+ return delegationTokensAvailable;
+ }
+
@Override
- public Collection<KeyExtent> migrations() {
+ public Set<KeyExtent> migrationsSnapshot() {
- Set<KeyExtent> migrationsCopy = new HashSet<KeyExtent>();
+ Set<KeyExtent> migrationKeys = new HashSet<KeyExtent>();
synchronized (migrations) {
- migrationsCopy.addAll(migrations.keySet());
+ migrationKeys.addAll(migrations.keySet());
+ }
- return migrationKeys;
++ return Collections.unmodifiableSet(migrationKeys);
+ }
+
+ @Override
+ public Set<TServerInstance> shutdownServers() {
+ synchronized (serversToShutdown) {
+ return new HashSet<TServerInstance>(serversToShutdown);
}
- return Collections.unmodifiableSet(migrationsCopy);
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/server/master/src/test/java/org/apache/accumulo/master/TestMergeState.java
----------------------------------------------------------------------
diff --cc server/master/src/test/java/org/apache/accumulo/master/TestMergeState.java
index 634ee89,045a383..1d7c6d1
--- a/server/master/src/test/java/org/apache/accumulo/master/TestMergeState.java
+++ b/server/master/src/test/java/org/apache/accumulo/master/TestMergeState.java
@@@ -83,19 -82,9 +83,19 @@@ public class TestMergeState
}
@Override
- public Collection<KeyExtent> migrations() {
- return Collections.emptyList();
+ public Set<KeyExtent> migrationsSnapshot() {
+ return Collections.emptySet();
}
+
+ @Override
+ public MasterState getMasterState() {
+ return MasterState.NORMAL;
+ }
+
+ @Override
+ public Set<TServerInstance> shutdownServers() {
+ return Collections.emptySet();
+ }
}
private static void update(Connector c, Mutation m) throws TableNotFoundException, MutationsRejectedException {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/69185edb/test/src/test/java/org/apache/accumulo/test/functional/TabletStateChangeIteratorIT.java
----------------------------------------------------------------------
diff --cc test/src/test/java/org/apache/accumulo/test/functional/TabletStateChangeIteratorIT.java
index 2e49708,275255c..ad5e55d
--- a/test/src/test/java/org/apache/accumulo/test/functional/TabletStateChangeIteratorIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/functional/TabletStateChangeIteratorIT.java
@@@ -173,20 -172,9 +173,20 @@@ public class TabletStateChangeIteratorI
}
@Override
- public Collection<KeyExtent> migrations() {
- return Collections.emptyList();
+ public Set<KeyExtent> migrationsSnapshot() {
+ return Collections.emptySet();
}
+
+ @Override
+ public MasterState getMasterState() {
+ return MasterState.NORMAL;
+ }
+
+ @Override
+ public Set<TServerInstance> shutdownServers() {
+ return Collections.emptySet();
+ }
+
}
}