@futdevpro/nts-dynamo 1.15.128 → 1.15.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dynamo/logs/cicd-pipeline/output.log +1669 -1673
- package/.dynamo/logs/cicd-pipeline/status.json +27 -27
- package/build/_modules/server/errors/errors.controller.d.ts +29 -0
- package/build/_modules/server/errors/errors.controller.d.ts.map +1 -1
- package/build/_modules/server/errors/errors.controller.js +27 -5
- package/build/_modules/server/errors/errors.controller.js.map +1 -1
- package/build/_modules/server/errors/errors.data-service.d.ts +6 -0
- package/build/_modules/server/errors/errors.data-service.d.ts.map +1 -1
- package/build/_modules/server/errors/errors.data-service.js +29 -3
- package/build/_modules/server/errors/errors.data-service.js.map +1 -1
- package/package.json +3 -3
- package/src/_modules/server/errors/errors.controller.spec.ts +73 -1
- package/src/_modules/server/errors/errors.controller.ts +48 -4
- package/src/_modules/server/errors/errors.data-service.ts +30 -3
|
@@ -27,6 +27,13 @@ export class DyNTS_Errors_DataService<
|
|
|
27
27
|
T_ErrorsRecord extends DyFM_Errors<T_Error>
|
|
28
28
|
> extends DyNTS_DataService<T_ErrorsRecord> implements DyNTS_Errors_ControlService<T_Error, T_ErrorsRecord> {
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* FR-279 — egy error-rekord max merete (byte), amely folott levagjuk az
|
|
32
|
+
* `additionalContent`-et. A korabbi kod ezt a szamot HAROM helyen ismetelte
|
|
33
|
+
* inline literalkent; nevesitve egy helyen all, es a szerializacio is egyszer fut.
|
|
34
|
+
*/
|
|
35
|
+
static readonly MAX_ERROR_RECORD_BYTES: number = 16793000;
|
|
36
|
+
|
|
30
37
|
debugLog: boolean = false;
|
|
31
38
|
readonly version: string = DyNTS_global_settings.systemVersion;
|
|
32
39
|
duplicationCounter: number;
|
|
@@ -104,15 +111,33 @@ export class DyNTS_Errors_DataService<
|
|
|
104
111
|
|
|
105
112
|
errorsRecord.d_error = this.checkErrorIsStringifyableOrResolvable(errorsRecord.d_error, this.issuer) as T_Error;
|
|
106
113
|
|
|
114
|
+
// ─── FR-279 (2026-08-06) — EGYSZER szerializalunk, nem haromszor ──────────
|
|
115
|
+
//
|
|
116
|
+
// ⚠️ MERT BUG: ez a blokk KORABBAN akar HAROM teljes `JSON.stringify(errorsRecord)`-ot
|
|
117
|
+
// futtatott EGYETLEN error-rekordra, SZINKRON, a fo szalon — es az ELSO eredmenyet
|
|
118
|
+
// (a "stringify-elheto-e" teszt) EL IS DOBTA. A meret-plafon 16.7 MB, tehat ezek a
|
|
119
|
+
// rekordok tobb-MB-osak lehetnek: haromszoros koltseg, teljesen feleslegesen.
|
|
120
|
+
//
|
|
121
|
+
// MIERT SZAMIT (mert incidens, overseer 2026-08-06): a status-sweep ~30 rendszert
|
|
122
|
+
// pingel; a nem elerhetok 3000 ms-os timeouttal bukanak, es MINDEN bukas egy error-
|
|
123
|
+
// rekordot general (teljes `DyNTS_ApiCall_Params` + stack + additionalContent). A
|
|
124
|
+
// fagyasok elotti log kizarolag ilyen sorokkal van tele:
|
|
125
|
+
// error: "timeout of 3000ms exceeded" / project-statuses.control-services.js:147
|
|
126
|
+
// Az event-loop kozben 10-11 masodpercre megall (elLag max 10469-11123 ms), a heap
|
|
127
|
+
// 2 GB-ra hizik, es a runnerek `next-job` hivasa timeoutol -> a CI megall.
|
|
128
|
+
//
|
|
129
|
+
// A szinkron, tobb-MB-os JSON-szerializacio a fo szalon PONTOSAN ilyen blokkot ad —
|
|
130
|
+
// es a harmadolasa ingyen van: ugyanaz a viselkedes, egy-ket szerializaciobol.
|
|
131
|
+
let serialized: string;
|
|
107
132
|
try {
|
|
108
|
-
JSON.stringify(errorsRecord);
|
|
133
|
+
serialized = JSON.stringify(errorsRecord);
|
|
109
134
|
} catch (err) {
|
|
110
135
|
DyFM_Log.error('error data is not stringifyable!');
|
|
111
136
|
|
|
112
137
|
return;
|
|
113
138
|
}
|
|
114
139
|
|
|
115
|
-
if (
|
|
140
|
+
if (serialized.length > DyNTS_Errors_DataService.MAX_ERROR_RECORD_BYTES) {
|
|
116
141
|
errorsRecord.additionalContent = {
|
|
117
142
|
message: 'error data was too big to save, removed additionalContent',
|
|
118
143
|
};
|
|
@@ -121,7 +146,9 @@ export class DyNTS_Errors_DataService<
|
|
|
121
146
|
message: 'error data was too big to save, removed additionalContent',
|
|
122
147
|
};
|
|
123
148
|
|
|
124
|
-
|
|
149
|
+
// Ujra-meres CSAK a levagas utan — es csak akkor, ha egyaltalan tullogtuk a plafont.
|
|
150
|
+
serialized = JSON.stringify(errorsRecord);
|
|
151
|
+
if (serialized.length > DyNTS_Errors_DataService.MAX_ERROR_RECORD_BYTES) {
|
|
125
152
|
errorsRecord.error.errors = [];
|
|
126
153
|
}
|
|
127
154
|
}
|