You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@solr.apache.org by Michel Wigbers <mi...@funatic.nl> on 2021/03/24 10:27:22 UTC

UncheckedIOException: java.net.SocketException: Connection reset

I have docker swarm setup with 2 solr nodes and 3 zookeeper nodes. 

When refreshing the zookeeper status 
https:<hostname>/solr/#/~cloud?view=zkstatus

1 of 2 refreshes gives java.net.SocketException: Connection reset
while still seeing the three ZK nodes. 

Error in the log
java.io.UncheckedIOException: java.net.SocketException: Connection reset
	at java.base/java.io.BufferedReader$1.hasNext(Unknown Source)
	at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

Version solr: 8.8.1
version zk: 3.6.2

os: Redhat 8.1

The question. Is this network related issue? or a bug? 

the docker swarm config yaml. I replaced the ipaddress, pwds, hostnames ;-)... 

---
version: '3.8'

services:

  solr1:
    image: 'docker.io/library/solr:8.8.1'
    hostname: 'IPADDRESS1'
    environment: 
      ZK_HOST: 'zookeeper1:2181,zookeeper2:2181,zookeeper3:2181' 
      SOLR_SSL_ENABLED: 'true'
      SOLR_SSL_KEY_STORE: '/var/solr/certs/solr-ssl.keystore.jks'
      SOLR_SSL_KEY_STORE_PASSWORD: 'SOLRPWD'
      SOLR_SSL_TRUST_STORE: '/var/solr/certs/solr-ssl.keystore.jks'
      SOLR_SSL_TRUST_STORE_PASSWORD: 'SOLRPWD'
      SOLR_SSL_NEED_CLIENT_AUTH: 'false'
      SOLR_SSL_WANT_CLIENT_AUTH: 'false'
      SOLR_SSL_CHECK_PEER_NAME: 'false'
      SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION: 'false'
      SOLR_SSL_KEY_STORE_TYPE: 'JKS'
      SOLR_SSL_TRUST_STORE_TYPE: 'JKS'
    deploy: 
      replicas: 1
      placement:
        constraints: ['node.hostname==HOSTNAME1'] 
        max_replicas_per_node: 1
      restart_policy:
        condition: 'on-failure'
    networks:
      - 'solr'
    ports: 
      - target: 8983
        published: 8983
        protocol: 'tcp'
        mode: 'host'
    volumes:
      - '/data/solr/data:/var/solr'  
      - '/data/solr/solr.in.sh:/etc/default/solr.in.sh'      
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "10"

  solr2:
    image: 'docker.io/library/solr:8.8.1'
    hostname: 'IPADDRESS2'
    environment: 
      ZK_HOST: 'zookeeper1:2181,zookeeper2:2181,zookeeper3:2181' 
      SOLR_SSL_ENABLED: 'true'
      SOLR_SSL_KEY_STORE: '/var/solr/certs/solr-ssl.keystore.jks'
      SOLR_SSL_KEY_STORE_PASSWORD: 'SOLRPWD'
      SOLR_SSL_TRUST_STORE: '/var/solr/certs/solr-ssl.keystore.jks'
      SOLR_SSL_TRUST_STORE_PASSWORD: 'SOLRPWD'
      SOLR_SSL_NEED_CLIENT_AUTH: 'false'
      SOLR_SSL_WANT_CLIENT_AUTH: 'false'
      SOLR_SSL_CHECK_PEER_NAME: 'false'
      SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION: 'false'
      SOLR_SSL_KEY_STORE_TYPE: 'JKS'
      SOLR_SSL_TRUST_STORE_TYPE: 'JKS'
    deploy: 
      replicas: 1
      placement:
        constraints: ['node.hostname==HOSTNAME2'] 
        max_replicas_per_node: 1
      restart_policy:
        condition: 'on-failure'
    networks:
      - 'solr'
    ports: 
      - target: 8983
        published: 8983
        protocol: 'tcp'
        mode: 'host'
    volumes:
      - '/data/solr/data:/var/solr'      
      - '/data/solr/solr.in.sh:/etc/default/solr.in.sh'      
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "10"

  zookeeper1:
    image: 'docker.io/library/zookeeper:3.6.2'
    hostname: 'zookeeper1'
    environment: 
      ZOO_MY_ID: '1'
      ZOO_SERVERS: 'server.1=zookeeper1:2888:3888:participant;2181 server.2=zookeeper2:2888:3888:participant;2181 server.3=zookeeper3:2888:3888:participant;2181'
      ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok'
      ZOO_AUTOPURGE_PURGEINTERVAL: '5'
      ZOO_AUTOPURGE_SNAPRETAINCOUNT: '24'
      ZOO_ADMINSERVER_ENABLED: 'false'
    deploy:
      replicas: 1
      placement:
        constraints: ['node.hostname==HOSTNAME1']    
    networks:
      - 'solr'
    volumes: 
      - '/data/zookeeper/data:/data'
      - '/data/zookeeper/conf:/conf'
      - '/data/zookeeper/datalog:/datalog'
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "10"
    ports:
      - target: 2181
        published: 2181
        protocol: 'tcp'
        mode: 'host'
      - target: 2888
        published: 2888
        protocol: 'tcp'
        mode: 'host'
      - target: 3888
        published: 3888
        protocol: 'tcp'
        mode: 'host'     

  zookeeper2:
    image: 'docker.io/library/zookeeper:3.6.2'
    hostname: 'zookeeper2'
    environment: 
      ZOO_MY_ID: '2'
      ZOO_SERVERS: 'server.1=zookeeper1:2888:3888:participant;2181 server.2=zookeeper2:2888:3888:participant;2181 server.3=zookeeper3:2888:3888:participant;2181'
      ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok'
      ZOO_AUTOPURGE_PURGEINTERVAL: '5'
      ZOO_AUTOPURGE_SNAPRETAINCOUNT: '24'
      ZOO_ADMINSERVER_ENABLED: 'false'
    deploy:
      replicas: 1
      placement:
        constraints: ['node.hostname==HOSTNAME2']    
    networks:
      - 'solr'
    volumes:
      - '/data/zookeeper/data:/data'
      - '/data/zookeeper/conf:/conf'
      - '/data/zookeeper/datalog:/datalog'
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "10"
    ports:
      - target: 2181
        published: 2181
        protocol: 'tcp'
        mode: 'host'
      - target: 2888
        published: 2888
        protocol: 'tcp'
        mode: 'host'
      - target: 3888
        published: 3888
        protocol: 'tcp'
        mode: 'host'    

  zookeeper3:
    image: 'docker.io/library/zookeeper:3.6.2'
    hostname: 'zookeeper3'
    environment:
      ZOO_MY_ID: '3'
      ZOO_SERVERS: 'server.1=zookeeper1:2888:3888:participant;2181 server.2=zookeeper2:2888:3888:participant;2181 server.3=zookeeper3:2888:3888:participant;2181'
      ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok'
      ZOO_AUTOPURGE_PURGEINTERVAL: '5'
      ZOO_AUTOPURGE_SNAPRETAINCOUNT: '24'
      ZOO_ADMINSERVER_ENABLED: 'false'
    deploy:
      replicas: 1
      placement:
        constraints: ['node.hostname==HOSTNAME3']
     
    networks:
      - 'solr'
    volumes:
      - '/data/zookeeper/data:/data'
      - '/data/zookeeper/conf:/conf'
      - '/data/zookeeper/datalog:/datalog'
    logging:
      driver: "json-file"
      options:
        max-size: "20m"
        max-file: "10"
    ports:
      - target: 2181
        published: 2181
        protocol: 'tcp'
        mode: 'host'
      - target: 2888
        published: 2888
        protocol: 'tcp'
        mode: 'host'
      - target: 3888
        published: 3888
        protocol: 'tcp'
        mode: 'host'    

networks:
  solr:
    external:
      name: 'solr'