Function URL invoke hangs when the response stream is empty
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- aws, node.js, typescript
Piste de recherche
Commencez par la reproduction dans index.cjs en utilisant awslambda.streamifyResponse, HttpResponseStream.from, pipeline et Readable.from(Buffer.alloc(0)) dans une invocation de Function URL. Exécutez-la dans us-east-1 et comparez le comportement des comptes anciens et nouveaux. Le travail est terminé lorsqu’un flux de réponse vide avec statusCode 403 ferme la connexion du client au lieu de rester bloqué.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I have a lambda with response streaming enabled. Invoked via Function URL. I am trying to return a status code with no response body. I have reduced my code to the below sample to reproduce the issue:
// File: index.cjs
// Handler: index.handler
const pipeline = require("util").promisify(require("stream").pipeline);
const { Readable } = require("stream");
exports.handler = awslambda.streamifyResponse(async (event, responseStream, context) => {
responseStream = awslambda.HttpResponseStream.from(responseStream, {
statusCode: 403,
});
await pipeline(
Readable.from(Buffer.alloc(0)),
responseStream,
);
});
I can see the HTTP headers are sent correctly and received by the client. But the connection remains open for up to 16 minutes. It seems like the runtime expects a response body, and if there is none, it just hangs and does not close the connection.
What's even stranger is that I have tested this in 2 different accounts. One of the accounts has been created ages ago, and the code above actually works fine as one would expect. The other account is newer (and it's where that code is supposed to run), and it just hangs and doesn't close the connection. Region is us-east-1.
- Langage dominant
- TypeScript
- Étoiles
- 224
- Forks
- 60
- Merge moyen
- 26 min
- PR mergées (30 j)
- 2
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de aws/aws-lambda-nodejs-runtime-interface-client
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
aws/aws-lambda-nodejs-runtime-interface-client#198 · 3 commentaires · 6 réactions ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
aws/aws-lambda-nodejs-runtime-interface-client#195 · 12 réactions ·
-
bug
aws/aws-lambda-nodejs-runtime-interface-client#170 · 15 commentaires · 6 réactions · 1 personne assignée ·
-
AWS Inspector findings for curl Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 38/100
aws/aws-lambda-nodejs-runtime-interface-client#159 · 2 réactions ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
aws/aws-lambda-nodejs-runtime-interface-client#145 · 1 commentaire · 6 réactions ·
Toutes les issues de aws/aws-lambda-nodejs-runtime-interface-client
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
copse-dev/agent-pane#2953 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Ouvertebug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Client support matrix inclusion Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
calcite-components needs triage refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Esri/calcite-design-system#15203 ·