As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use cabeçalhos HTTP finais opcionais para habilitar respostas do Gremlin em várias partes
Por padrão, a HTTP resposta às consultas do Gremlin é retornada em um único JSON conjunto de resultados. No caso de um conjunto de resultados muito grande, isso pode causar uma exceção OutOfMemoryError
na instância de banco de dados.
No entanto, é possível habilitar respostas fragmentadas (respostas geradas em várias partes separadas). Isso é feito incluindo um cabeçalho de trailers (te: trailers
) com codificação de transferência (TE) na solicitação. Consulte a MDN página sobre cabeçalhos de solicitação TE
Quando uma resposta é retornada em várias partes, pode ser difícil diagnosticar um problema que ocorre após o recebimento da primeira parte, pois a primeira parte chega com um código de HTTP status de 200
(OK). Uma falha subsequente geralmente gera um corpo de mensagem que contém uma resposta corrompida, ao final da qual o Neptune acrescenta uma mensagem de erro.
Para facilitar a detecção e o diagnóstico desse tipo de falha, o Neptune também inclui dois novos campos de cabeçalho nos cabeçalhos finais de cada bloco de resposta:
X-Neptune-Status
: contém o código de resposta seguido por um nome curto. Por exemplo, em caso de êxito, o cabeçalho final seria:X-Neptune-Status: 200 OK
. Em caso de falha, o código de resposta seria um dos códigos de erro do mecanismo do Neptune, comoX-Neptune-Status: 500 TimeLimitExceededException
.X-Neptune-Detail
: fica em branco para solicitações bem-sucedidas. No caso de erros, ele contém a mensagem JSON de erro. Como somente ASCII caracteres são permitidos nos valores do HTTP cabeçalho, a JSON string é URL codificada.
nota
No momento, o Neptune não é compatível com a compactação gzip
de respostas fragmentadas. Se o cliente solicitar codificação fragmentada e compactação ao mesmo tempo, o Neptune vai ignorar a compactação.