docstr: target: test compact the num of segments that size less than 1/2Max, does not reach the threshold
  method: 1.create collection with shard_num = 1
          2.insert flush 9 times (segments threshold 10)
          3.after a while, load
  expected: Verify segments are not merged
docstr_tok: ["target",":","test","compact","the","num","of","segments","that","size","less","than","1\/2Max",",","does","not","reach","the","threshold","method",":","1.create","collection","with","shard_num","=","1","2.insert","flush","9","times","(","segments","threshold","10",")","3.after","a","while",",","load","expected",":","Verify","segments","are","not","merged"]
code: def test_compact_less_threshold_no_merge(self):
      """
      target: test compact the num of segments that size less than 1/2Max, does not reach the threshold
      method: 1.create collection with shard_num = 1
              2.insert flush 9 times (segments threshold 10)
              3.after a while, load
      expected: Verify segments are not merged
      """
      less_threshold = ct.compact_segment_num_threshold - 1
  
      # create collection shard_num=1, insert 9 segments, each with one entity
      collection_w = self.collection_insert_multi_segments_one_shard(
          prefix, num_of_segment=less_threshold
      )
  
      # create index
      collection_w.create_index(
          ct.default_float_vec_field_name, ct.default_index
      )
  
      # load and verify no auto-merge
      collection_w.load()
      replicas = collection_w.get_replicas()[0]
      replica_num = len(replicas.groups)
      segments_info = self.utility_wrap.get_query_segment_info(
          collection_w.name
      )[0]
      assert len(segments_info) == less_threshold * replica_num
  
imports: import threading
  from time import time, sleep
  import pytest
  from pymilvus.grpc_gen.common_pb2 import SegmentState
  from pymilvus.exceptions import MilvusException
  from base.client_base import TestcaseBase
  from common import common_func
  from common import common_type
  from common.common_type import CaseLabel, CheckTasks
  from utils.util_log import test_log
label_desc: Use image node_id 16 for calling the TestCompactionOperation obj's underlying member method code with example usage: obj.test_compact_less_threshold_no_merge() without return types