Skip to content

Repo Version Export Streaming causes performance issue #2454

@snyaggarwal

Description

@snyaggarwal

Currently OCL API streams the export (zip) content as response in /export/ API.
This causes performance issue and sometimes causes the process to terminate due to Memory

Errbit

/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py:135→ handle: self.handle_request(listener, req, client, addr)
--
/usr/local/lib/python3.12/site-packages/gunicorn/workers/sync.py:184→ handle_request: resp.write(item)
/usr/local/lib/python3.12/site-packages/gunicorn/http/wsgi.py:355→ write: util.write(self.sock, arg, self.chunked)
/usr/local/lib/python3.12/site-packages/gunicorn/util.py:298→ write: return write_chunk(sock, data)
/usr/local/lib/python3.12/site-packages/gunicorn/util.py:293→ write_chunk: sock.sendall(chunk)
/usr/local/lib/python3.12/site-packages/gunicorn/workers/base.py:203→ handle_abort: sys.exit(1)

Ideally export API should return 302 with the Location header in response, pointing to the zip URL

This will require changes in oclapi2 and oclweb2

Metadata

Metadata

Assignees

Labels

signal/high-riskSignificant potential impact if incorrectstage/triagedAI triage complete — scored and classifiedtype/bugSomething is broken

Type

No type

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions