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

[2/2] lucene-solr:jira/solr-8593: Add collection alias support for Calcite

Add collection alias support for Calcite


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5f654876
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5f654876
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5f654876

Branch: refs/heads/jira/solr-8593
Commit: 5f6548765822d72ef6cea873b9df60bc1ee4bc6a
Parents: 7a53e9a
Author: Kevin Risden <kr...@apache.org>
Authored: Fri Jan 6 15:32:41 2017 -0600
Committer: Kevin Risden <kr...@apache.org>
Committed: Fri Jan 6 15:32:41 2017 -0600

----------------------------------------------------------------------
 .../org/apache/solr/handler/sql/SolrSchema.java | 13 ++++++++++--
 .../solr/client/solrj/io/sql/JdbcTest.java      | 21 ++++++++++++--------
 2 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5f654876/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java
index 8c3eaa9..221ddf8 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java
@@ -25,6 +25,8 @@ import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.request.LukeRequest;
 import org.apache.solr.client.solrj.response.LukeResponse;
+import org.apache.solr.common.cloud.ClusterState;
+import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.luke.FieldFlag;
 
 import java.io.IOException;
@@ -46,12 +48,19 @@ class SolrSchema extends AbstractSchema {
     String zk = this.properties.getProperty("zk");
     try(CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder().withZkHost(zk).build()) {
       cloudSolrClient.connect();
-      Set<String> collections = cloudSolrClient.getZkStateReader().getClusterState().getCollectionsMap().keySet();
+      ZkStateReader zkStateReader = cloudSolrClient.getZkStateReader();
+      ClusterState clusterState = zkStateReader.getClusterState();
 
       final ImmutableMap.Builder<String, Table> builder = ImmutableMap.builder();
-      for (String collection : collections) {
+
+      for (String collection : clusterState.getCollectionsMap().keySet()) {
         builder.put(collection, new SolrTable(this, collection));
       }
+
+      for (Map.Entry<String, String> alias : zkStateReader.getAliases().getCollectionAliasMap().entrySet()) {
+        builder.put(alias.getKey(), new SolrTable(this, alias.getValue()));
+      }
+
       return builder.build();
     } catch (IOException e) {
       throw new RuntimeException(e);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5f654876/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
index 69d236f..9461725 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
@@ -25,10 +25,10 @@ import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.sql.Types;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 import java.util.Properties;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.LuceneTestCase.Slow;
@@ -36,6 +36,7 @@ import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.client.solrj.request.UpdateRequest;
 import org.apache.solr.cloud.AbstractDistribZkTestBase;
 import org.apache.solr.cloud.SolrCloudTestCase;
+import org.apache.solr.common.cloud.ZkStateReader;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -514,16 +515,20 @@ public class JdbcTest extends SolrCloudTestCase {
         assertFalse(rs.next());
       }
 
-      List<String> collections = new ArrayList<>();
-      collections.addAll(cluster.getSolrClient().getZkStateReader().getClusterState().getCollectionsMap().keySet());
-      Collections.sort(collections);
+      ZkStateReader zkStateReader = cluster.getSolrClient().getZkStateReader();
+
+      SortedSet<String> tables = new TreeSet<>();
+      Set<String> collections = zkStateReader.getClusterState().getCollectionsMap().keySet();
+      Set<String> aliases = zkStateReader.getAliases().getCollectionAliasMap().keySet();
+      tables.addAll(collections);
+      tables.addAll(aliases);
 
       try(ResultSet rs = databaseMetaData.getTables(null, zkHost, "%", null)) {
-        for(String acollection : collections) {
+        for(String table : tables) {
           assertTrue(rs.next());
           assertNull(rs.getString("tableCat"));
           assertEquals(zkHost, rs.getString("tableSchem"));
-          assertEquals(acollection, rs.getString("tableName"));
+          assertEquals(table, rs.getString("tableName"));
           assertEquals("TABLE", rs.getString("tableType"));
           assertNull(rs.getString("remarks"));
         }