Fix oversized event reports cause subsequent events to be lost (#1316)

This commit is contained in:
clearml 2025-04-18 16:08:19 +03:00
parent d4f4318b06
commit d9949d4c3e

View File

@ -600,22 +600,26 @@ class Session(TokenManager):
# readjust the slice # readjust the slice
slice = req_data[cur : cur + size] slice = req_data[cur : cur + size]
if not slice: if not slice:
raise MaxRequestSizeError( (self._logger or get_logger()).error(
"Error: {}.{} request exceeds limit {} > {} bytes".format( "{}.{} request exceeds limit {} > {} bytes".format(
service, action, len(req_data), self.__max_req_size service, action, len(req_data), self.__max_req_size
) )
) )
res = self.send_request( # skip the payload that could not be sent
method=method, size = req_data[cur:].find("\n") + 1
service=service, if size == 0:
action=action, # error occured on the last package
data=slice, break
headers=headers, if slice:
version=version, res = self.send_request(
) method=method,
results.append(res) service=service,
if res.status_code != requests.codes.ok: action=action,
break data=slice,
headers=headers,
version=version,
)
results.append(res)
cur += size cur += size
return results return results