def METHOD_NAME(chunk_spec, cache_dir):
    """Check the cached chunk file designated by the given spec"""
    file_path = os.path.join(cache_dir, chunk_spec['name'])
    # Check presence and size
    if not os.path.isfile(file_path) or os.path.getsize(file_path) != chunk_spec['size']:
        return False
    # Check MD5 sum
    md5_obj = hashlib.md5()
    with open(file_path, 'rb') as f:
        while True:
            data = f.read(65536)  # Arbitrary
            if not data:
                break
            md5_obj.update(data)
    return md5_obj.hexdigest() == chunk_spec['md5_sum']