Manjesh K. Hanawal

35 papers A* 1Misc 8Journal 21Unranked 5
YearRankTypeTitle / Venue / Authors
2025 Misc conf
COMSNETS
Rashmi Kamran, Pranav Jha, Shwetha Kiran, Pradnya Kiri Taksande, Prasanna Chaporkar, Abhay Karandikar, Manjesh K. Hanawal
2025 J jnl
Oper. Res. Lett.
Purushottam Parthasarathy, Avinash Bhardwaj, Manjesh K. Hanawal
2025 Misc conf
COMSNETS
Rashmi Kamran, Pradnya Kiri Taksande, Pranav Jha, Manjesh K. Hanawal, Prasanna Chaporkar
2025 J jnl
IEEE Trans. Netw. Serv. Manag.
Roberto Gonçalves Pacheco, Divya J. Bajpai, Mark Shifrin, Rodrigo S. Couto, Daniel Sadoc Menasché, Manjesh K. Hanawal, Miguel Elias M. Campista
2024 J jnl
CoRR
Cebajel Tanan, Sameer G. Kulkarni, Tamal Das, Manjesh K. Hanawal
2024 conf
ACL (Findings)
Divya Jyoti Bajpai, Manjesh K. Hanawal
2024 conf
EMNLP (Findings)
Divya Jyoti Bajpai, Manjesh K. Hanawal
2024 J jnl
IEEE Trans. Wirel. Commun.
Manjesh K. Hanawal, Sumit Jagdish Darak
2024 J jnl
CoRR
Prakhar Paliwal, Arjun Sable, Manjesh K. Hanawal
2024 A* conf
INFOCOM
Debamita Ghosh, Manjesh K. Hanawal, Nikola Zlatanov
2024 conf
ICC
Divya J. Bajpai, Aastha Jaiswal, Manjesh K. Hanawal
2024 J jnl
CoRR
Devesh Sawant, Manjesh K. Hanawal, Atul Kabra
2024 J jnl
IEEE Trans. Wirel. Commun.
Debamita Ghosh, Manjesh K. Hanawal, Nikola Zlatanov
2024 J jnl
IEEE Trans. Wirel. Commun.
Debamita Ghosh, Manjesh K. Hanawal, Nikola Zlatanov
2023 conf
ICC
Roberto Gonçalves Pacheco, Mark Shifrin, Rodrigo De Souza Couto, Daniel S. Menasché, Manjesh K. Hanawal, Miguel Elias M. Campista
2023 J jnl
Oper. Res. Lett.
Avinash Bhardwaj, Manjesh K. Hanawal, Purushottam Parthasarathy
2023 J jnl
IEEE Trans. Netw. Serv. Manag.
Vinod S. Khandkar, Manjesh K. Hanawal
2023 Misc conf
COMSNETS
Debamita Ghosh, Manjesh K. Hanawal
2023 Misc conf
COMSNETS
Akshay Bakshi, Tanish Sawant, Prasad Thakare, Azeez Dandawala, Manjesh K. Hanawal, Atul Kabra
2023 J jnl
CoRR
Debamita Ghosh, Manjesh K. Hanawal, Nikola Zlatanov
2023 J jnl
CoRR
Purushottam Parthasarathy, Avinash Bhardwaj, Manjesh K. Hanawal
2023 J jnl
IEEE Commun. Lett.
Akanksha Sneh, Sumit Darak, Shobha Sundar Ram, Manjesh K. Hanawal
2023 Misc conf
COMSNETS
Yogesh C. Jadhav, Arjun Sable, Maithri Suresh, Manjesh K. Hanawal
2023 J jnl
CoRR
Divya J. Bajpai, Vivek K. Trivedi, Sohan L. Yadav, Manjesh K. Hanawal
2023 Misc conf
COMSNETS
Vinod S. Khandkar, Manjesh K. Hanawal, Sameer G. Kulkarni
2023 Misc conf
COMSNETS
Adhokshaj Mishra, Manjesh K. Hanawal
2023 J jnl
CoRR
Debamita Ghosh, Haseen Rahman, Manjesh K. Hanawal, Nikola Zlatanov
2022 J jnl
CoRR
Avinash Bhardwaj, Manjesh K. Hanawal, Purushottam Parthasarathy
2022 J jnl
CoRR
Vinod S. Khandkar, Manjesh K. Hanawal, Sameer G. Kulkarni
2022 J jnl
CoRR
Manjesh K. Hanawal, Sumit Jagdish Darak
2022 conf
SPCOM
Vinod S. Khandkar, Manjesh K. Hanawal
2022 J jnl
IEEE Trans. Ind. Informatics
Himani Joshi, Shubhrajit Santra, Sumit Jagdish Darak, Manjesh K. Hanawal, S. V. Sai Santosh
2022 J jnl
IEEE Trans. Netw. Serv. Manag.
Fehmina Malik, Manjesh K. Hanawal, Yezekael Hayel
2022 Misc conf
COMSNETS
Shubham Agarwal, Arjun Sable, Devesh Sawant, Sunil Kahalekar, Manjesh K. Hanawal
2022 J jnl
CoRR
Hari Narayan N. U, Manjesh K. Hanawal, Avinash Bhardwaj
s3-storage/s3_test.py
← Index s3-storage/s3_test.py python
#!/usr/bin/env python3
"""
Simple script to test S3 connectivity and download.
Usage: python s3_test.py
"""

import os
import time
import tempfile
from minio import Minio
from minio.error import S3Error
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

def get_minio_client():
    """Create and return a Minio client using credentials from .env file"""
    endpoint = os.getenv("S3_ENDPOINT")
    access_key = os.getenv("S3_ACCESS_KEY")
    secret_key = os.getenv("S3_SECRET_KEY")
    secure = True 
    
    print(f"Connecting to S3 endpoint: {endpoint} (secure={secure})")
    
    return Minio(
        endpoint=endpoint,
        access_key=access_key,
        secret_key=secret_key,
        secure=secure
    )

def test_connection():
    """Test basic connectivity to S3"""
    try:
        client = get_minio_client()
        
        # Try to list buckets as a basic connectivity test
        buckets = client.list_buckets()
        print(f"Successfully connected to S3. Found {len(buckets)} buckets:")
        for bucket in buckets:
            print(f"  - {bucket.name}")
        
        return client
    except Exception as e:
        print(f"Failed to connect to S3: {e}")
        return None

def test_bucket_access(client, bucket_name):
    """Test access to a specific bucket"""
    try:
        exists = client.bucket_exists(bucket_name)
        if exists:
            print(f"Bucket '{bucket_name}' exists and is accessible")
            
            # List a few objects to verify access
            count = 0
            objects = []
            for obj in client.list_objects(bucket_name, recursive=True):
                print(f"  - {obj.object_name} ({obj.size} bytes)")
                objects.append(obj)
                count += 1
                if count >= 5:
                    break
            
            print(f"Found at least {len(objects)} objects in bucket")
            return objects
        else:
            print(f"Bucket '{bucket_name}' does not exist or is not accessible")
            return []
    except Exception as e:
        print(f"Error accessing bucket '{bucket_name}': {e}")
        return []

def test_download(client, bucket_name, object_name):
    """Test downloading a specific object"""
    try:
        print(f"Attempting to download: {object_name}")
        start_time = time.time()
        
        # Create a temporary file to store the downloaded object
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            temp_path = temp_file.name
        
        # Download the object
        client.fget_object(bucket_name, object_name, temp_path)
        
        # Check if the file was downloaded successfully
        file_size = os.path.getsize(temp_path)
        elapsed_time = time.time() - start_time
        
        print(f"Download successful: {file_size} bytes in {elapsed_time:.2f} seconds")
        print(f"Average download speed: {file_size/elapsed_time/1024:.2f} KB/s")
        
        # Clean up
        os.unlink(temp_path)
        return True
    except S3Error as e:
        print(f"S3 Error during download: {e}")
        return False
    except Exception as e:
        print(f"Error downloading object: {e}")
        return False

def main():
    """Main function to run all tests"""
    print("=== S3 Connectivity Test ===")
    
    # Test basic connectivity
    client = test_connection()
    if not client:
        return
    
    # Get bucket name from environment variable
    bucket_name = "redb"
    print(f"\n=== Testing Access to Bucket: {bucket_name} ===")
    objects = test_bucket_access(client, bucket_name)
    
    if objects:
        # Test downloading the first object
        first_object = objects[0].object_name
        print(f"\n=== Testing Download of Object: {first_object} ===")
        test_download(client, bucket_name, first_object)
        
        # If the first one worked, let's try a specific file from the error log
        print(f"\n=== Testing Download of Specific Object ===")
        specific_object = "00/06/00062073114defac39cb7ab9cb99a0b77c535a09a241c60d47ddd0b6431629f1.zip"
        test_download(client, bucket_name, specific_object)

if __name__ == "__main__":
    main()