Ramanathan S. Thinniyam

31 papers A* 3A 1B 1Misc 1Journal 22Unranked 3
YearRankTypeTitle / Venue / Authors
2026 J jnl
Proc. ACM Program. Lang.
A. R. Balasubramanian, Matthew Hague, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2026 J jnl
Proc. ACM Program. Lang.
Parosh Aziz Abdulla, Yu-Fang Chen, Michal Hecko, Lukás Holík, Ondrej Lengál, Jyun-Ao Lin, Ramanathan S. Thinniyam
2025 B conf
APLAS
Parosh Aziz Abdulla, Mohamed Faouzi Atig, R. Govind, Samuel Grahn, Ramanathan S. Thinniyam
2025 J jnl
CoRR
Parosh Aziz Abdulla, Mohamed Faouzi Atig, R. Govind, Samuel Grahn, Ramanathan S. Thinniyam
2025 J jnl
CoRR
A. R. Balasubramanian, Matthew Hague, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2025 J jnl
CoRR
Parosh Aziz Abdulla, Yu-Fang Chen, Michal Hecko, Lukás Holík, Ondrej Lengál, Jyun-Ao Lin, Ramanathan S. Thinniyam
2024 J jnl
Proc. ACM Program. Lang.
A. R. Balasubramanian, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2023 A* conf
ICALP
Pascal Baumann, Moses Ganardi, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2023 J jnl
CoRR
Pascal Baumann, Moses Ganardi, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2023 A* conf
ICALP
Pascal Baumann, Moses Ganardi, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2023 J jnl
Proc. ACM Program. Lang.
Pascal Baumann, Moses Ganardi, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2023 J jnl
Log. Methods Comput. Sci.
Pascal Baumann, Moses Ganardi, Ramanathan S. Thinniyam, Georg Zetzsche
2023 J jnl
CoRR
A. R. Balasubramanian, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2022 J jnl
Proc. ACM Program. Lang.
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2022 A conf
STACS
Pascal Baumann, Moses Ganardi, Ramanathan S. Thinniyam, Georg Zetzsche
2022 J jnl
CoRR
Pascal Baumann, Moses Ganardi, Ramanathan S. Thinniyam, Georg Zetzsche
2022 J jnl
Log. Methods Comput. Sci.
Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2021 J jnl
CoRR
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2021 J jnl
Proc. ACM Program. Lang.
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2021 conf
TACAS (1)
Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2021 J jnl
CoRR
Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2020 J jnl
CoRR
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2020 J jnl
J. Log. Comput.
R. Ramanujam, Ramanathan S. Thinniyam
2020 A* conf
ICALP
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2020 J jnl
CoRR
Pascal Baumann, Rupak Majumdar, Ramanathan S. Thinniyam, Georg Zetzsche
2019 conf
FSTTCS
Ramanathan S. Thinniyam, Georg Zetzsche
2019 J jnl
CoRR
Ramanathan S. Thinniyam, Georg Zetzsche
2018 J jnl
Log. Methods Comput. Sci.
Ramanathan S. Thinniyam
2017 conf
ICLA
Ramanathan S. Thinniyam
2017 J jnl
CoRR
Ramanathan S. Thinniyam
2016 Misc conf
LFCS
Ramaswamy Ramanujam, Ramanathan S. Thinniyam
redb/settings/elasticsearch.py
← Index redb/settings/elasticsearch.py python
import logging
import os

from elasticsearch import Elasticsearch
from dotenv import load_dotenv

load_dotenv()

# Elasticsearch configuration
ELASTIC_ENDPOINT = os.getenv("ELASTIC_HOST")
ELASTIC_ENFORCE_SSL = os.getenv("ELASTIC_ENFORCE_SSL", False) == "True"
ELASTIC_USER = os.getenv("ELASTIC_USER")
ELASTIC_PASSWORD = os.getenv("ELASTIC_PASSWORD")
ELASTIC_BINARIES_COLLECTION = os.getenv("ELASTIC_BINARIES_COLLECTION", "test_db")

# Cached client instance
_elasticsearch_client = None

def get_elasticsearch_client():
    """Get Elasticsearch client with lazy initialization and caching"""
    global _elasticsearch_client
    
    if _elasticsearch_client is None:
        if not ELASTIC_ENDPOINT:
            raise ValueError("ELASTIC_HOST environment variable is required for Elasticsearch connection")
            
        _elasticsearch_client = Elasticsearch(
            ELASTIC_ENDPOINT,
            verify_certs=ELASTIC_ENFORCE_SSL,
            basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
            maxsize=20,
            retry_on_timeout=True,
            timeout=30,
        )
    
    return _elasticsearch_client

def create_elasticsearch_client():
    """Create a new Elasticsearch client connection (legacy function)"""
    return get_elasticsearch_client()