code: def test_log_rotation_config(ray_start_cluster, monkeypatch):
      cluster = ray_start_cluster
      max_bytes = 100
      backup_count = 3
  
      # Create a cluster.
      set_logging_config(monkeypatch, max_bytes, backup_count)
      head_node = cluster.add_node(num_cpus=0)
      # Set a different env var for a worker node.
      set_logging_config(monkeypatch, 0, 0)
      worker_node = cluster.add_node(num_cpus=0)
      cluster.wait_for_nodes()
  
      config = head_node.logging_config
      assert config["log_rotation_max_bytes"] == max_bytes
      assert config["log_rotation_backup_count"] == backup_count
      config = worker_node.logging_config
      assert config["log_rotation_max_bytes"] == 0
      assert config["log_rotation_backup_count"] == 0
  
imports: import io
  import os
  import re
  import subprocess
  import sys
  import tempfile
  import time
  import logging
  from collections import Counter, defaultdict
  from contextlib import redirect_stderr, redirect_stdout
  from pathlib import Path
  from unittest.mock import Mock, MagicMock
  import pytest
  import ray
  from ray._private import ray_constants
  from ray._private.log_monitor import LOG_NAME_UPDATE_INTERVAL_S, RAY_LOG_MONITOR_MANY_FILES_THRESHOLD, LogFileInfo, LogMonitor, is_proc_alive
  from ray._private.test_utils import get_log_batch, get_log_message, get_log_data, init_log_pubsub, run_string_as_driver, wait_for_condition
  from ray.cross_language import java_actor_class
  from ray.autoscaler._private.cli_logger import cli_logger
label_desc: Use image node_id 4 for calling a global function with example usage: test_log_rotation_config(ray_start_cluster, monkeypatch) without return types