code: def testConsumerRestart(self):
      cluster = data_service_test_base.TestCluster(num_workers=1)
      num_consumers = 3
      ds = self.make_coordinated_read_dataset(cluster, num_consumers)
      get_next = self.getNext(ds, requires_initialization=True)
      _ = [self.evaluate(get_next()) for _ in range(20)]
  
      ds2 = self.make_coordinated_read_dataset(cluster, num_consumers)
      with self.assertRaisesRegex(
          errors.FailedPreconditionError,
          "current round has already reached",
      ):
          get_next_ds2 = self.getNext(ds2, requires_initialization=True)
          _ = [self.evaluate(get_next_ds2()) for _ in range(20)]
      cluster.stop_workers()
  
file_path: tensorflow-upstream/tensorflow/python/data/experimental/kernel_tests/service/coordinated_read_test.py
imports: from absl.testing import parameterized
  from tensorflow.python.data.experimental.kernel_tests.service import test_base
  from tensorflow.python.data.experimental.ops import grouping
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the CoordinatedReadTest obj's underlying member method code with example usage: obj.testConsumerRestart() without return types