Override `highWaterMark` didn't work
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- node.js, typescript
- Domaine
- backend
Piste de recherche
Commencez au point d’entrée awslambda.streamifyResponse et suivez la manière dont son option highWaterMark et le symbole handler sont utilisés. Reproduisez les deux exemples et vérifiez qu’une valeur configurée de 512 fournit les écritures anticipées avant les écritures différées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The following code will send the data BEFORE 6s:
const util = require('node:util');
const HANDLER_HIGHWATERMARK = Symbol.for(
'aws.lambda.runtime.handler.streaming.highWaterMark',
);
const handler = async (event, responseStream, context) => {
responseStream.setContentType('text/html; charset=utf-8');
responseStream.write("Thinking...");
responseStream.write("a".repeat(64 * 1024));
setTimeout(function() {
responseStream.write("b".repeat(64 * 1024));
}, 3000);
setTimeout(function() {
responseStream.write("After 6s");
responseStream.end();
}, 6000);
};
handler[HANDLER_HIGHWATERMARK] = 512;
exports.handler = awslambda.streamifyResponse(handler, {
highWaterMark: 512
}
);
The following code will only send data AFTER 6s.
const util = require('node:util');
const HANDLER_HIGHWATERMARK = Symbol.for(
'aws.lambda.runtime.handler.streaming.highWaterMark',
);
const handler = async (event, responseStream, context) => {
responseStream.setContentType('text/html; charset=utf-8');
responseStream.write("Thinking...");
responseStream.write("a".repeat(1 * 1024));
setTimeout(function() {
responseStream.write("b".repeat(1 * 1024));
}, 3000);
setTimeout(function() {
responseStream.write("After 6s");
responseStream.end();
}, 6000);
};
handler[HANDLER_HIGHWATERMARK] = 512;
exports.handler = awslambda.streamifyResponse(handler, {
highWaterMark: 512
}
);
From what I tested, the default highWaterMark is 64Kb, but there is no way to override it to be lower, I tried two different ways to do it.
This causes weird issues where I can't send some tiny text and then wait 6s to send more data, it will be sent as a single chunk only after 6s.
This issue was initially discovered at https://github.com/H4ad/serverless-adapter/issues/166
- 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
-
comp/desktop P3 type/bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
NousResearch/hermes-agent#118866 ·
-
Browser Waiting for: Product Owner
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
getsentry/sentry-javascript#24577 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
agilepathway/label-checker#640 ·
-
Plugin stuck at "loading" on DSH 0.1.6-alpha.2 — turnTail list slot registration missing options.id Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Add 2021 Cup data to website Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
chrisparsons83/flexspotff#153 ·