You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2016/09/02 00:51:36 UTC
[17/35] usergrid git commit: Make sure root shard cannot be set to
compacted=false in ShardManager tool.
Make sure root shard cannot be set to compacted=false in ShardManager tool.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4b01bc88
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4b01bc88
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4b01bc88
Branch: refs/heads/master
Commit: 4b01bc88960db9008a553871a9f9a526baf09e45
Parents: 09bcce5
Author: Michael Russo <mr...@apigee.com>
Authored: Mon Aug 29 17:11:01 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Mon Aug 29 17:11:01 2016 -0700
----------------------------------------------------------------------
.../org/apache/usergrid/tools/ShardManager.java | 36 +++++++++++++++++---
1 file changed, 32 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/4b01bc88/stack/tools/src/main/java/org/apache/usergrid/tools/ShardManager.java
----------------------------------------------------------------------
diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/ShardManager.java b/stack/tools/src/main/java/org/apache/usergrid/tools/ShardManager.java
index ecf447c..96320c9 100644
--- a/stack/tools/src/main/java/org/apache/usergrid/tools/ShardManager.java
+++ b/stack/tools/src/main/java/org/apache/usergrid/tools/ShardManager.java
@@ -57,6 +57,8 @@ public class ShardManager extends ToolBase {
private static final String SHARD_TYPE_ARG = "shardType";
+ private static final String SHARD_INDEX_ARG = "shardIndex";
+
@Override
@SuppressWarnings("static-access")
@@ -84,11 +86,17 @@ public class ShardManager extends ToolBase {
options.addOption(repairOption);
Option shardTypeOption =
- OptionBuilder.withArgName(SHARD_TYPE_ARG).hasArg().isRequired(true).withDescription("either collection or connection")
+ OptionBuilder.withArgName(SHARD_TYPE_ARG).hasArg().isRequired(false).withDescription("either collection or connection")
.create(SHARD_TYPE_ARG);
options.addOption(shardTypeOption);
+ Option shardIndexOption =
+ OptionBuilder.withArgName(SHARD_INDEX_ARG).hasArg().isRequired(false).withDescription("the shardIndex")
+ .create(SHARD_INDEX_ARG);
+
+ options.addOption(shardIndexOption);
+
return options;
}
@@ -115,10 +123,13 @@ public class ShardManager extends ToolBase {
String shardType = line.getOptionValue(SHARD_TYPE_ARG);
+ String shardIndex = line.getOptionValue(SHARD_INDEX_ARG);
+
boolean repair = false;
if( isNotEmpty(repairTask) && (
repairTask.equalsIgnoreCase("removeAllShardEnds") || repairTask.equalsIgnoreCase("removeLastShardEnd") ||
- repairTask.equalsIgnoreCase("resetAllCompactionStatus"))) {
+ repairTask.equalsIgnoreCase("resetAllCompactionStatus") || repairTask.equalsIgnoreCase("setCompacted") ||
+ repairTask.equalsIgnoreCase("clearCompacted"))) {
repair = true;
}
@@ -156,13 +167,30 @@ public class ShardManager extends ToolBase {
while (shards.hasNext()) {
Shard shard = shards.next();
+
logger.info("Seeking over shard: {}", shard);
if(repair) {
logger.info("Repair enabled with task: {}", repairTask);
- if( repairTask.equalsIgnoreCase("removeLastShardEnd") && firstShard){
+ if ( repairTask.equalsIgnoreCase("setCompacted") && isNotEmpty(shardIndex) && Long.valueOf(shardIndex).equals(shard.getShardIndex())){
+
+ logger.info("Setting compacted=true for shard: {}", shard);
+
+ shard.setCompacted(true);
+ edgeShardSerialization.writeShardMeta(applicationScope, shard, directedEdgeMeta).execute();
+
+
+ }else if ( repairTask.equalsIgnoreCase("clearCompacted") && isNotEmpty(shardIndex) && Long.valueOf(shardIndex).equals(shard.getShardIndex())){
+
+ logger.info("Setting compacted=false for shard: {}", shard);
+
+ shard.setCompacted(false);
+ edgeShardSerialization.writeShardMeta(applicationScope, shard, directedEdgeMeta).execute();
+
+
+ } else if( repairTask.equalsIgnoreCase("removeLastShardEnd") && firstShard){
logger.info("Removing shard end from shard: {}", shard);
@@ -176,7 +204,7 @@ public class ShardManager extends ToolBase {
shard.setShardEnd(Optional.absent());
edgeShardSerialization.writeShardMeta(applicationScope, shard, directedEdgeMeta).execute();
- } else if ( repairTask.equalsIgnoreCase("resetAllCompactionStatus")){
+ } else if ( repairTask.equalsIgnoreCase("resetAllCompactionStatus") && shard.getShardIndex() != 0){
logger.info("Setting compacted=false for shard: {}", shard);