Description
- azure-ai-formrecognizer
- 3.3.3
- Ubuntu 22
- Python 3.9.2
While calling azure.ai.formrecognizer.aio.DocumentAnalysisClient for doing ocr for 200 pages using async event loop i am intermittently getting "Unclosed client session warnings". Some of the aiohttp sessions internally created in the client is not closed.
client initialisation code is : self.client = DocumentAnalysisClient(self.config_dict["FORM_RECOGNIZER_ENDPOINT"], credential=DefaultAzureCredential(),
api_version = self.config_dict["FORM_RECOGNIZER_API_VERSION"]
session=session,
,session_owner = False
)
I am passing an aiohttp Session to the client and i am closed the session using async with.
the client is also wrapped around async with.
I tried without passing the session created by me, the resource leak error still persists.
async with aiohttp.ClientSession() as session:
print_active_sessions()
async with await get_ocr_reader(session=session) as reader:
result = await analyze_files( model_id, page_image_list)
return result
this is the consumer code.
To Reproduce
- Using the client do ocr for 200 pages. Sleep for 3 min Again do ocr for 200 pages. Sleep for 3 min while doing it the third time one will get the resource leak warning.
Ideally all sessions created by DocumentAnalysisClient should be closed by it. If user is passing a session, then the client should use that session and should not create any sessions for itself.
aiohttp version is 3.10.5