0

I am connecting to solr cluster using SolrCloud with Kerberos authentication enabled and getting connection failures every next day after the app is not used overnight.

2022-09-08 16:56:13,754 - kazoo.client - WARNING - Connection dropped: socket connection error: Connection refused

We then decided to open and close connection on every request but the problem remains.

@contextmanager
def open_connection(collection) -> pysolr.SolrCloud:
    """create Pysolr connection"""
    os.environ["KRB5_CLIENT_KTNAME"] = KEYTAB
    solr: pysolr.SolrCloud = None
    try:
        logger.info("Opening solr connection")
        zookeeper = pysolr.ZooKeeper(ZOOKEEPER_URL)
        kerberos_auth = HTTPKerberosAuth(principal=PRINCIPAL, force_preemptive=True)
        solr = pysolr.SolrCloud(
            zookeeper,
            collection,
            auth=kerberos_auth,
            verify=False,
            search_handler="/select",
        )
        yield solr
    finally:
        if solr:
            logger.info("Closing solr connection")
            solr.get_session().close()
  1. Solr version: 8.6
  2. Python version: 3.6
  3. pysolr version: 3.9.0
Chirdeep Tomar
  • 4,281
  • 8
  • 37
  • 66

0 Answers0