2016-05-06 9 views
0

Я начал играть с solr6, чтобы обновить текущую версию сервера.Solrj RuntimeException: Первый кортеж не является набором метаданных

Я попытался запустить код на here, но когда я запускаю код, который я получаю:

java.sql.SQLException: java.lang.RuntimeException: First tuple is not a metadata tuple 
    at org.apache.solr.client.solrj.io.sql.StatementImpl.executeQuery(StatementImpl.java:70) 
    at com.sematext.blog.App.main(App.java:28) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 
Caused by: java.lang.RuntimeException: First tuple is not a metadata tuple 
    at org.apache.solr.client.solrj.io.sql.ResultSetImpl.<init>(ResultSetImpl.java:75) 
    at org.apache.solr.client.solrj.io.sql.StatementImpl.executeQuery(StatementImpl.java:67) 
    ... 6 more 

Мой код



    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.ResultSet; 
    import java.sql.SQLException; 
    import java.sql.Statement; 

    public class App 
    { 
    public static void main(String[] args) 
    { 


     Connection connection = null; 
     Statement statement = null; 
     ResultSet resultSet = null; 

     try{ 
      String connectionString = "jdbc:solr://zkhost:port?collection=test&aggregationMode=map_reduce&numWorkers=1"; 
      connection = DriverManager.getConnection(connectionString); 
      statement = connection.createStatement(); 
      resultSet = statement.executeQuery("select id, text from test limit 5"); 
      while(resultSet.next()){ 
       String id = resultSet.getString("id"); 
       String nickname = resultSet.getString("text"); 

       System.out.println(id + " : " + nickname); 
      } 
     }catch(Exception e){ 
      e.printStackTrace(); 
     }finally{ 
      if (resultSet != null) { 
       try { 
        resultSet.close(); 
       } catch (Exception ex) { 
       } 
      } 
      if (statement != null) { 
       try { 
        statement.close(); 
       } catch (Exception ex) { 
       } 
      } 
      if (connection != null) { 
       try { 
        connection.close(); 
       } catch (Exception ex) { 
       } 
      } 
     } 


    } 
    } 

Я попытался выяснить, что происходит, но там больше нет журналов, кроме указанных выше. А на Solr стороны, журналы, кажется, все в порядке:

2016-05-04 15:52:30.364 INFO (qtp1634198-41) [c:test s:shard1 r:core_node1 x:test] o.a.s.c.S.Request [test] webapp=/solr path=/sql params={includeMetadata=true&numWorkers=1&wt=json&version=2.2&stmt=select+id,+text+from+test+limit+5&aggregationMode=map_reduce} status=0 QTime=3 
2016-05-04 15:52:30.382 INFO (qtp1634198-46) [c:test s:shard1 r:core_node1 x:test] o.a.s.c.S.Request [test] webapp=/solr path=/select params={q=(*:*)&distrib=false&fl=id,text,score&sort=score+desc&rows=5&wt=json&version=2.2} hits=5624 status=0 QTime=1 

Родственная часть, которая бросает исключение составляет: org.apache.solr.client.solrj.io.sql.ResultSetImpl


     Object isMetadata = this.metadataTuple.get("isMetadata"); 
     if(isMetadata == null || !isMetadata.equals(true)) { 
     throw new RuntimeException("First tuple is not a metadata tuple"); 
     } 

с Путь к классам:


solr-solrj-6.0.0 
commons-io-2.4 
httpclient-4.4.1 
httpcore-4.4.1 
httpmime-4.4.1 
zookeeper-3.4.6 
stax2-api-3.1.4 
woodstox-core-asl-4.4.1 
noggit-0.6 
jcl-over-slf4j-1.7.7 
slf4j-api-1.7.7 

ошибка происходит из-за отсутствие некоторых обработчиков по ошибкам на коде или отсутствующий Params для запроса (заподозрив «includeMetadata = истина» часть из бревен Solr, и это не там, когда я завиваюсь)? У кого-то были подобные проблемы при использовании sql с solrj?

ответ

0

В основном проблема заключается в различии между конфигурациями и форматами до 6 версий Solr.

После долгой работы с ребятами из группы писем я попробовал полностью чистую установку и менял настройки вручную, а не прямое копирование из папки conf в предыдущей версии.

 Смежные вопросы

  • Нет связанных вопросов^_^