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"));
}