class_docstr: ******************************************************************
    The following cases are used to test `create_partition` function 
  ******************************************************************
class_docstr_tok: ["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","The","following","cases","are","used","to","test","`","create_partition","`","function","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*"]
docstr: target: flushing will recover
  method: call function: create collection, then delete/flushing, restart server and assert row count
  expected: row count equals (nb - delete_length)
docstr_tok: ["target",":","flushing","will","recover","method",":","call","function",":","create","collection",",","then","delete\/flushing",",","restart","server","and","assert","row","count","expected",":","row","count","equals","(","nb","-","delete_length",")"]
code: def _test_delete_during_flushing(self, connect, collection, args):
      """
      target: flushing will recover
      method: call function: create collection, then delete/flushing, restart server and assert row count
      expected: row count equals (nb - delete_length)
      """
      # disable_autoflush()
      ids = connect.bulk_insert(collection, big_entities)
      connect.flush([collection])
      delete_length = 1000
      delete_ids = ids[big_nb // 4 : big_nb // 4 + delete_length]
      delete_res = connect.delete_entity_by_id(collection, delete_ids)
      connect.flush([collection], _async=True)
      res_count = connect.count_entities(collection)
      logging.getLogger().info(res_count)
      # restart server
      assert restart_server(args["service_name"])
      # assert row count again
      new_connect = get_milvus(
          args["ip"], args["port"], handler=args["handler"]
      )
      res_count_2 = new_connect.count_entities(collection)
      logging.getLogger().info(res_count_2)
      timeout = 100
      start_time = time.time()
      while new_connect.count_entities(
          collection
      ) != big_nb - delete_length and (
          time.time() - start_time < timeout
      ):
          time.sleep(10)
          logging.getLogger().info(
              new_connect.count_entities(collection)
          )
      if (
          new_connect.count_entities(collection)
          == big_nb - delete_length
      ):
          time.sleep(10)
          res_count_3 = new_connect.count_entities(collection)
          logging.getLogger().info(res_count_3)
          assert res_count_3 == big_nb - delete_length
  
imports: import time
  import random
  import pdb
  import threading
  import logging
  import json
  from multiprocessing import Pool, Process
  import pytest
  from utils.util_pymilvus import get_milvus, restart_server, gen_entities, gen_unique_str, default_nb
  from common.constants import default_fields, default_entities
  from common.common_type import CaseLabel
label_desc: Use image node_id 4 for calling the TestRestartBase obj's underlying member method code with example usage: obj._test_delete_during_flushing(connect, collection, args) without return types