keystonejs/keystone-classic

[0.x] Keystone OOMkilled on large CSV export

Aberta

#2.592 aberto em 8 de abr. de 2016

 (1 comentário) (0 reação) (0 responsável)JavaScript (2.288 forks)batch import
bughelp wanted

Métricas do repositório

Stars
 (14.656 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

When exporting a keystone list as csv, the entire backing collection is loaded into memory before sending the response. This renders the export feature useless for a large collection; keystone will exhaust the available memory on the machine until it gets OOMkilled.

Instead, the export should be streamed back to the client so that we never load more than a cursor's worth of data in memory.

Guia do colaborador