You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by an...@apache.org on 2015/06/17 19:09:01 UTC

svn commit: r1686079 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/CHANGES.txt solr/core/ solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java

Author: andyetitmoves
Date: Wed Jun 17 17:09:00 2015
New Revision: 1686079

URL: http://svn.apache.org/r1686079
Log:
SOLR-7629: Have RulesTest consider disk space limitations of where the test is being run

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java

Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1686079&r1=1686078&r2=1686079&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Wed Jun 17 17:09:00 2015
@@ -146,6 +146,9 @@ Other Changes
 
 * SOLR-7665: deprecate the class TransformerWithContext (noble)
 
+* SOLR-7629: Have RulesTest consider disk space limitations of where the test is
+  being run (Christine Poerschke via Ramkumar Aiyengar)
+
 ==================  5.2.1 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java?rev=1686079&r1=1686078&r2=1686079&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/cloud/rule/ImplicitSnitch.java Wed Jun 17 17:09:00 2015
@@ -71,6 +71,12 @@ public class ImplicitSnitch extends Snit
     if (params.size() > 0) ctx.invokeRemote(solrNode, params, ImplicitSnitch.class.getName(), null);
   }
 
+  static long getUsableSpaceInGB() throws IOException {
+    long space = Files.getFileStore(Paths.get("/")).getUsableSpace();
+    long spaceInGB = space / 1024 / 1024 / 1024;
+    return spaceInGB;
+  }
+  
   public Map<String, Object> invoke(SolrQueryRequest req) {
     Map<String, Object> result = new HashMap<>();
     if (req.getParams().getInt(CORES, -1) == 1) {
@@ -79,8 +85,7 @@ public class ImplicitSnitch extends Snit
     }
     if (req.getParams().getInt(DISK, -1) == 1) {
       try {
-        long space = Files.getFileStore(Paths.get("/")).getUsableSpace();
-        long spaceInGB = space / 1024 / 1024 / 1024;
+        final long spaceInGB = getUsableSpaceInGB();
         result.put(DISK, spaceInGB);
       } catch (IOException e) {
 

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java?rev=1686079&r1=1686078&r2=1686079&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java Wed Jun 17 17:09:00 2015
@@ -45,6 +45,8 @@ public class RulesTest extends AbstractF
   @Test
   @ShardsFixed(num = 5)
   public void doIntegrationTest() throws Exception {
+    final long minGB = (random().nextBoolean() ? 1 : 0);
+    assumeTrue("doIntegrationTest needs minGB="+minGB+" usable disk space", ImplicitSnitch.getUsableSpaceInGB() > minGB);
     String rulesColl = "rulesColl";
     try (SolrClient client = createNewSolrClient("", getBaseUrl((HttpSolrClient) clients.get(0)))) {
       CollectionAdminResponse rsp;
@@ -53,7 +55,7 @@ public class RulesTest extends AbstractF
               .setShards("shard1")
               .setRouterName(ImplicitDocRouter.NAME)
               .setReplicationFactor(2)
-              .setRule("cores:<4", "node:*,replica:<2", "freedisk:>1")
+              .setRule("cores:<4", "node:*,replica:<2", "freedisk:>"+minGB)
               .setSnitch("class:ImplicitSnitch");
       rsp = create.process(client);
       assertEquals(0, rsp.getStatus());
@@ -66,7 +68,7 @@ public class RulesTest extends AbstractF
     assertEquals(3, list.size());
     assertEquals ( "<4", ((Map)list.get(0)).get("cores"));
     assertEquals("<2", ((Map) list.get(1)).get("replica"));
-    assertEquals(">1", ((Map) list.get(2)).get("freedisk"));
+    assertEquals(">"+minGB, ((Map) list.get(2)).get("freedisk"));
     list = (List) rulesCollection.get("snitch");
     assertEquals(1, list.size());
     assertEquals ( "ImplicitSnitch", ((Map)list.get(0)).get("class"));
@@ -126,6 +128,10 @@ public class RulesTest extends AbstractF
 
   @Test
   public void testModifyColl() throws Exception {
+    final long minGB1 = (random().nextBoolean() ? 1 : 0);
+    final long minGB2 = 5;
+    assumeTrue("testModifyColl needs minGB1="+minGB1+" usable disk space", ImplicitSnitch.getUsableSpaceInGB() > minGB1);
+    assumeTrue("testModifyColl needs minGB2="+minGB2+" usable disk space", ImplicitSnitch.getUsableSpaceInGB() > minGB2);
     String rulesColl = "modifyColl";
     try (SolrClient client = createNewSolrClient("", getBaseUrl((HttpSolrClient) clients.get(0)))) {
       CollectionAdminResponse rsp;
@@ -133,7 +139,7 @@ public class RulesTest extends AbstractF
               .setCollectionName(rulesColl)
               .setNumShards(1)
               .setReplicationFactor(2)
-              .setRule("cores:<4", "node:*,replica:1", "freedisk:>1")
+              .setRule("cores:<4", "node:*,replica:1", "freedisk:>"+minGB1)
               .setSnitch("class:ImplicitSnitch");
       rsp = create.process(client);
       assertEquals(0, rsp.getStatus());
@@ -143,7 +149,7 @@ public class RulesTest extends AbstractF
       p.add("action", "MODIFYCOLLECTION");
       p.add("rule", "cores:<5");
       p.add("rule", "node:*,replica:1");
-      p.add("rule", "freedisk:>5");
+      p.add("rule", "freedisk:>"+minGB2);
       p.add("autoAddReplicas", "true");
       client.request(new GenericSolrRequest(POST, COLLECTIONS_HANDLER_PATH, p));
     }
@@ -163,7 +169,7 @@ public class RulesTest extends AbstractF
       }
       assertEquals("<5", ((Map) list.get(0)).get("cores"));
       assertEquals("1", ((Map) list.get(1)).get("replica"));
-      assertEquals(">5", ((Map) list.get(2)).get("freedisk"));
+      assertEquals(">"+minGB2, ((Map) list.get(2)).get("freedisk"));
       assertEquals("true", String.valueOf(rulesCollection.getProperties().get("autoAddReplicas")));
       list = (List) rulesCollection.get("snitch");
       assertEquals(1, list.size());