Author: jmssiera
Date: Tue Dec  6 17:27:24 2022
New Revision: 1905801

URL: http://svn.apache.org/viewvc?rev=1905801&view=rev
Log:
solrj9 and zookeeper 3.8.0 update

Modified:
    manifoldcf/branches/CONNECTORS-1740/build.xml
    manifoldcf/branches/CONNECTORS-1740/connectors/solr/build.xml
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConnector.java
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_en_US.properties
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_es_ES.properties
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_fr_FR.properties
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_ja_JP.properties
    
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/native2ascii/org/apache/manifoldcf/agents/output/solr/common_zh_CN.properties
    manifoldcf/branches/CONNECTORS-1740/connectors/solr/pom.xml
    manifoldcf/branches/CONNECTORS-1740/framework/build.xml
    manifoldcf/branches/CONNECTORS-1740/framework/core/pom.xml
    manifoldcf/branches/CONNECTORS-1740/pom.xml

Modified: manifoldcf/branches/CONNECTORS-1740/build.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1740/build.xml?rev=1905801&r1=1905800&r2=1905801&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1740/build.xml (original)
+++ manifoldcf/branches/CONNECTORS-1740/build.xml Tue Dec  6 17:27:24 2022
@@ -31,12 +31,12 @@
 
     <property name="javax-activation.version" value="1.2.0"/>
     <property name="hsqldb.version" value="2.3.2"/>
-    <property name="jetty.version" value="9.4.25.v20191220"/>
+    <property name="jetty.version" value="9.4.48.v20220622"/>
     <property name="httpclient.version" value="4.5.13"/>
     <property name="httpmime.version" value="4.5.13"/>
     <property name="httpcore.version" value="4.4.15"/>
     <property name="xerces.version" value="2.12.2"/>
-    <property name="zookeeper.version" value="3.4.10"/>
+    <property name="zookeeper.version" value="3.8.0"/>
     <property name="mongodb.version" value="2.14.3"/>
     <property name="postgresql.version" value="42.1.3"/>
     <property name="axis.version" value="1.4"/>
@@ -84,7 +84,7 @@
     <property name="jakarta.annotation-api.version" value="1.3.4"/>
     <property name="jakarta.jws-api.version" value="1.1.1"/>
     <property name="ha-api.version" value="3.1.12"/>
-    <property name="solrj.version" value="8.3.1"/>
+    <property name="solrj.version" value="9.1.0"/>
     <property name="noggit.version" value="0.8"/>
     <property name="commons-math3.version" value="3.6.1"/>
     <property name="chemistry.version" value="1.1.0"/>
@@ -1421,10 +1421,31 @@ Use Apache Forrest version forrest-0.9-d
     <target name="download-jetty">
         <mkdir dir="lib"/>
         <property name="jetty-package" value="org/eclipse/jetty"/>
+        <property name="jetty-http2-package" value="org/eclipse/jetty/http2"/>
         <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-package}"/><param name="artifact-version" 
value="9.2.30.v20200428"/><param name="target" value="lib"/>
             <param name="artifact-name" value="jetty-jsp"/>
             <param name="artifact-type" value="jar"/>
         </antcall>
+        <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-http2-package}"/><param name="artifact-version" 
value="${jetty.version}"/><param name="target" value="lib"/>
+            <param name="artifact-name" value="http2-client"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+         <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-http2-package}"/><param name="artifact-version" 
value="${jetty.version}"/><param name="target" value="lib"/>
+            <param name="artifact-name" value="http2-common"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+         <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-http2-package}"/><param name="artifact-version" 
value="${jetty.version}"/><param name="target" value="lib"/>
+            <param name="artifact-name" value="http2-hpack"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+         <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-http2-package}"/><param name="artifact-version" 
value="${jetty.version}"/><param name="target" value="lib"/>
+            <param name="artifact-name" value="http2-http-client-transport"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+         <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-package}"/><param name="artifact-version" 
value="${jetty.version}"/><param name="target" value="lib"/>
+            <param name="artifact-name" value="jetty-alpn-java-client"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
         <antcall target="download-via-maven"><param name="project-path" 
value="${jetty-package}"/><param name="artifact-version" 
value="${jetty.version}"/><param name="target" value="lib"/>
             <param name="artifact-name" value="jetty-client"/>
             <param name="artifact-type" value="jar"/>
@@ -2442,6 +2463,13 @@ Use Apache Forrest version forrest-0.9-d
         </antcall>
         <antcall target="download-via-maven">
             <param name="target" value="lib"/>
+            <param name="project-path" value="org/apache/solr"/>
+            <param name="artifact-version" value="${solrj.version}"/>
+            <param name="artifact-name" value="solr-solrj-zookeeper"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
+        <antcall target="download-via-maven">
+            <param name="target" value="lib"/>
             <param name="project-path" value="org/noggit"/>
             <param name="artifact-version" value="${noggit.version}"/>
             <param name="artifact-name" value="noggit"/>
@@ -2465,6 +2493,13 @@ Use Apache Forrest version forrest-0.9-d
             <param name="artifact-name" value="zookeeper"/>
             <param name="artifact-type" value="jar"/>
         </antcall>
+        <antcall target="download-via-maven">
+           <param name="target" value="lib"/>
+            <param name="project-path" value="org/apache/zookeeper"/>
+            <param name="artifact-version" value="${zookeeper.version}"/>
+            <param name="artifact-name" value="zookeeper-jute"/>
+            <param name="artifact-type" value="jar"/>
+        </antcall>
     </target>
     
     <target name="download-commons-exec">

Modified: manifoldcf/branches/CONNECTORS-1740/connectors/solr/build.xml
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1740/connectors/solr/build.xml?rev=1905801&r1=1905800&r2=1905801&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-1740/connectors/solr/build.xml (original)
+++ manifoldcf/branches/CONNECTORS-1740/connectors/solr/build.xml Tue Dec  6 
17:27:24 2022
@@ -35,10 +35,6 @@
         <fileset dir="../../lib">
             <include name="solr-solrj*.jar"/>
             <include name="commons-math3*.jar"/>
-            <include name="noggit*.jar"/>
-            <include name="httpmime*.jar"/>
-            <include name="woodstox-core-asl*.jar"/>
-            <include name="stax2-api*.jar"/>
             <include name="jcl-over-slf4j*.jar"/>
         </fileset>
     </path>
@@ -49,10 +45,6 @@
             <fileset dir="../../lib">
                 <include name="solr-solrj*.jar"/>
                 <include name="commons-math3*.jar"/>
-                <include name="noggit*.jar"/>
-                <include name="httpmime*.jar"/>
-                <include name="woodstox-core-asl*.jar"/>
-                <include name="stax2-api*.jar"/>
                 <include name="jcl-over-slf4j*.jar"/>
             </fileset>
         </copy>

Modified: 
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java?rev=1905801&r1=1905800&r2=1905801&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
 (original)
+++ 
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/HttpPoster.java
 Tue Dec  6 17:27:24 2022
@@ -37,7 +37,6 @@ import org.apache.manifoldcf.agents.inte
 import org.apache.manifoldcf.agents.system.*;
 
 import java.io.*;
-import java.net.MalformedURLException;
 import java.util.*;
 import java.util.regex.*;
 
@@ -49,10 +48,9 @@ import org.apache.http.auth.UsernamePass
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpSolrClient;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
 import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
 import org.apache.solr.client.solrj.request.UpdateRequest;
-import org.apache.solr.client.solrj.impl.XMLResponseParser;
 import org.apache.solr.common.util.ContentStreamBase;
 import org.apache.solr.client.solrj.SolrResponse;
 import org.apache.solr.client.solrj.response.SolrPingResponse;
@@ -67,9 +65,9 @@ import org.apache.solr.common.SolrInputD
 
 import org.apache.commons.lang.StringUtils;
 
-import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder;
 import org.apache.solr.client.solrj.impl.SolrHttpClientBuilder;
+import org.apache.solr.client.solrj.impl.Http2SolrClient.Builder;
 
 /**
 * Posts an input stream to SOLR
@@ -136,8 +134,8 @@ public class HttpPoster
 
   /** Initialize the SolrCloud http poster.
   */
-  public HttpPoster(String zookeeperHosts, String collection,
-    int zkClientTimeout, int zkConnectTimeout,
+  public HttpPoster(List<String> zookeeperHosts, String znodePath, String 
collection,
+    int socketTimeout, int connectionTimeout,
     String updatePath, String removePath, String statusPath,
     String allowAttributeName, String denyAttributeName, String 
idAttributeName,
     String originalSizeAttributeName, String modifiedDateAttributeName, String 
createdDateAttributeName, String indexedDateAttributeName,
@@ -173,22 +171,24 @@ public class HttpPoster
 
     initializeKerberos();
 
-    try
-    {
-      CloudSolrClient cloudSolrServer = new CloudSolrClient.Builder()
-        .withZkHost(zookeeperHosts)
-        .withLBHttpSolrClient(new 
ModifiedLBHttpSolrClient(HttpClientUtil.createClient(null), allowCompression))
-        .build();
-      cloudSolrServer.setZkClientTimeout(zkClientTimeout);
-      cloudSolrServer.setZkConnectTimeout(zkConnectTimeout);
+    Optional<String> chroot = Optional.empty();
+    if(znodePath != null && !znodePath.isEmpty()) {
+      chroot = Optional.of(znodePath);
+    }
+    Builder http2SolrClientBuilder = new Http2SolrClient.Builder();
+    http2SolrClientBuilder.connectionTimeout(connectionTimeout);
+    http2SolrClientBuilder.idleTimeout(socketTimeout);
+    // CloudSolrClient does not have exceptions in its build method signature 
because it catches them and encapsulate them as runtime exceptions. 
+    // Thus, we need to set a try catch here to properly raise the exceptions 
that may happen
+    try {
+      CloudSolrClient cloudSolrServer = new 
CloudSolrClient.Builder(zookeeperHosts, 
chroot).withInternalClientBuilder(http2SolrClientBuilder).build();
       cloudSolrServer.setDefaultCollection(collection);
       // Set the solrj instance we want to use
       solrServer = cloudSolrServer;
+    } catch (Exception e) {
+      throw new ManifoldCFException(e);
     }
-    catch (MalformedURLException e)
-    {
-      throw new ManifoldCFException(e.getMessage(),e);
-    }
+    
   }
 
   /** Initialize the standard http poster.
@@ -242,69 +242,18 @@ public class HttpPoster
     }
 
     // Initialize standard solr-j.
-
-    SSLConnectionSocketFactory myFactory;
-    if (keystoreManager != null)
-    {
-      myFactory = new 
SSLConnectionSocketFactory(keystoreManager.getSecureSocketFactory(), 
NoopHostnameVerifier.INSTANCE);
-    }
-    else
-    {
-      // Use the "trust everything" one
-      myFactory = new 
SSLConnectionSocketFactory(KeystoreManagerFactory.getTrustingSecureSocketFactory(),NoopHostnameVerifier.INSTANCE);
-    }
-
-    // First, we need an HttpClient where basic auth is properly set up.
-    connectionManager = new 
PoolingHttpClientConnectionManager(RegistryBuilder.<ConnectionSocketFactory>create()
-      .register("http", PlainConnectionSocketFactory.getSocketFactory())
-      .register("https", myFactory)
-      .build());
-    connectionManager.setDefaultMaxPerRoute(1);
-    connectionManager.setValidateAfterInactivity(2000);
-    connectionManager.setDefaultSocketConfig(SocketConfig.custom()
-      .setTcpNoDelay(true)
-      .setSoTimeout(socketTimeout)
-      .build());
-
-    RequestConfig.Builder requestBuilder = RequestConfig.custom()
-      .setCircularRedirectsAllowed(true)
-      .setSocketTimeout(socketTimeout)
-      .setExpectContinueEnabled(true)
-      .setConnectTimeout(connectionTimeout)
-      .setConnectionRequestTimeout(socketTimeout);
-
-    HttpClientBuilder clientBuilder = HttpClients.custom()
-      .setConnectionManager(connectionManager)
-      .disableAutomaticRetries()
-      .setDefaultRequestConfig(requestBuilder.build())
-      .setRedirectStrategy(new LaxRedirectStrategy())
-      .setRequestExecutor(new HttpRequestExecutor(socketTimeout));
-
-
+    String httpSolrServerUrl = protocol + "://" + server + ":" + port + 
location;
+    Http2SolrClient.Builder solrClientBuilder = new 
Http2SolrClient.Builder(httpSolrServerUrl);
+    solrClientBuilder.maxConnectionsPerHost(1);
+    // Set tiemouts
+    solrClientBuilder.connectionTimeout(connectionTimeout); 
+    solrClientBuilder.idleTimeout(socketTimeout);
+    // Set auth credentials if provided
     if (userID != null && userID.length() > 0 && password != null)
     {
-      CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-      Credentials credentials = new UsernamePasswordCredentials(userID, 
password);
-      if (realm != null && realm.trim().length() > 0)
-      {
-        final AuthScope scope = new AuthScope(AuthScope.ANY_HOST, 
AuthScope.ANY_PORT, realm);
-        credentialsProvider.setCredentials(scope, credentials);
-        clientBuilder.addInterceptorFirst(new 
PreemptiveBasicAuthInterceptor(scope));
-      }
-      else
-      {
-        credentialsProvider.setCredentials(AuthScope.ANY, credentials);
-        clientBuilder.addInterceptorFirst(new 
PreemptiveBasicAuthInterceptor(AuthScope.ANY));
-      }
-
-      clientBuilder.setDefaultCredentialsProvider(credentialsProvider);
+     solrClientBuilder.withBasicAuthCredentials(userID, password);
     }
-
-    HttpClient localClient = clientBuilder.build();
-
-
-    String httpSolrServerUrl = protocol + "://" + server + ":" + port + 
location;
-    solrServer = new ModifiedHttpSolrClient(httpSolrServerUrl, localClient, 
new XMLResponseParser(), allowCompression);
+    solrServer = new Http2SolrClient.Builder(httpSolrServerUrl).build();
   }
 
   private static void initializeKerberos()
@@ -1688,7 +1637,7 @@ public class HttpPoster
      * Create a new SolrPing object.
      */
     public SolrPing() {
-      super(METHOD.GET, "/admin/ping");
+      super(METHOD.GET, CommonParams.PING_HANDLER);
       params = new ModifiableSolrParams();
     }
 
@@ -1758,6 +1707,11 @@ public class HttpPoster
       return this;
     }
 
+    @Override
+    public String getRequestType() {
+      return SolrRequestType.ADMIN.toString();
+    }
+
   }
 
   /** See CONNECTORS-956.  Make a safe lucene field name from a possibly

Modified: 
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java?rev=1905801&r1=1905800&r2=1905801&view=diff
==============================================================================
--- 
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
 (original)
+++ 
manifoldcf/branches/CONNECTORS-1740/connectors/solr/connector/src/main/java/org/apache/manifoldcf/agents/output/solr/SolrConfig.java
 Tue Dec  6 17:27:24 2022
@@ -18,11 +18,10 @@
 */
 package org.apache.manifoldcf.agents.output.solr;
 
-
-/** Parameters and output data for SOLR output connector.
-*/
-public class SolrConfig
-{
+/**
+ * Parameters and output data for SOLR output connector.
+ */
+public class SolrConfig {
   public static final String _rcsid = "@(#)$Id: SolrConfig.java 991374 
2010-08-31 22:32:08Z kwright $";
 
   // Configuration parameters
@@ -33,9 +32,9 @@ public class SolrConfig
   public static final String SOLR_TYPE_STANDARD = "standard";
   /** Type: Solr Cloud */
   public static final String SOLR_TYPE_SOLRCLOUD = "solrcloud";
-  
+
   // SolrCloud zookeeper parameters
-  
+
   // Zookeeper hosts, as nodes
   /** Zookeeper node */
   public static final String NODE_ZOOKEEPER = "zookeeper";
@@ -43,26 +42,26 @@ public class SolrConfig
   public static final String ATTR_HOST = "host";
   /** Zookeeper port */
   public static final String ATTR_PORT = "port";
-  
+
   /** Zookeeper znode path */
   public static final String PARAM_ZOOKEEPER_ZNODE_PATH = "ZooKeeper znode 
path";
-  
+
   /** ZooKeeper client timeout */
-  public static final String PARAM_ZOOKEEPER_CLIENT_TIMEOUT = "ZooKeeper 
client timeout";
+  public static final String PARAM_ZOOKEEPER_SOCKET_TIMEOUT = "ZooKeeper 
socket timeout";
   /** ZooKeeper connect timeout */
-  public static final String PARAM_ZOOKEEPER_CONNECT_TIMEOUT = "ZooKeeper 
connect timeout";
+  public static final String PARAM_ZOOKEEPER_CONNECTION_TIMEOUT = "ZooKeeper 
connection timeout";
   /** Collection name */
   public static final String PARAM_COLLECTION = "Collection";
-  
+
   // General indexing parameters
-  
+
   /** Protocol */
   public static final String PARAM_PROTOCOL = "Server protocol";
   /** Protocol: http */
   public static final String PROTOCOL_TYPE_HTTP = "http";
   /** Protocol: https */
   public static final String PROTOCOL_TYPE_HTTPS = "https";
-  
+
   /** Server name */
   public static final String PARAM_SERVER = "Server name";
   /** Port */
@@ -112,7 +111,7 @@ public class SolrConfig
   /** Included mime types */
   public static final String PARAM_INCLUDEDMIMETYPES = "Included mime types";
   /** Excluded mime types */
-  public static final String PARAM_EXCLUDEDMIMETYPES="Excluded mime types";
+  public static final String PARAM_EXCLUDEDMIMETYPES = "Excluded mime types";
   /** Parameter describing the use of Extract Update handler */
   public static final String PARAM_EXTRACTUPDATE = "Use extract update 
handler";
   /** Optional content field (if not using extract update handler) */
@@ -123,7 +122,7 @@ public class SolrConfig
   public static final String ATTRIBUTE_NAME = "name";
   /** Attribute with the argument value */
   public static final String ATTRIBUTE_VALUE = "value";
-  
+
   // Output specification
 
 }


Reply via email to