
    Bvh                     8    d dl mZ d dlmZ d dlmZ deddfdZy)    )ThreadPoolExecutor)DEFAULT_TENANT)ClientFactoriesclient_factoriesreturnNc                    
  j                         

j                           j                         }|j                  d       d}d}t	        |      D cg c]  }d| 	 c}D ]  }|j                  |        t	        |      D cg c]  }d| 	 c}dt
        ddf
 fd	}t        |
      5 }|j                  |t	        |             ddd       j                  d        j                  
j                  j                        
D ]]  }
j                  |       
j                         }t        |      |k(  sJ |D ]%  }	|	j                  v sJ |	j                  d|ik(  r%J  _ yc c}w c c}w # 1 sw Y   xY w)zNTests running multiple clients, each against their own database, concurrently.test_db2   
   db
collectionnr   Nc                     j                  t        |    j                  j                        }D ]  }|j	                  |d|    i        y )N)tenantdatabasesettingsr   )metadata)create_clientr   _systemr   create_collection)r   thread_clientr   clientr   collections	databasess      `/RAG/venv/lib/python3.12/site-packages/chromadb/test/client/test_multiple_clients_concurrency.py
run_targetz6test_multiple_clients_concurrently.<locals>.run_target   s\    (66!q\^^,, 7 

 &J++j)A,%? ,  &    )max_workersT)wait)r   r   )r   resetcreate_admin_client_from_systemcreate_databaserangeintr   mapshutdownr   r   set_databaselist_collectionslennamer   )r   admin_clientCLIENT_COUNTCOLLECTION_COUNTir   r   executorseen_collectionsr   r   r   r   s   `         @@@r   "test_multiple_clients_concurrentlyr1      s   ++-F
LLN#CCEL  +L $)#67#6a2aS#67I$$X.  .33C-DE-DZs#-DEK	c 	d 	 	 
	5Z|!45 
64 ++V^^5L5L+MF H%!224#$(8888*J??k111&&:x*@@@@ +	 3 8 F 
6	5s   E6E;7F  F	)concurrent.futuresr   chromadb.configr   chromadb.test.conftestr   r1    r   r   <module>r6      s$    1 * 2*A *AT *Ar   