@goldstack/template-dynamodb 0.4.1 → 0.4.3
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/dist/src/local/instanceManager.d.ts.map +1 -1
- package/dist/src/local/instanceManager.js +23 -4
- package/dist/src/local/instanceManager.js.map +1 -1
- package/dist/src/local/processManager.d.ts.map +1 -1
- package/dist/src/local/processManager.js +52 -32
- package/dist/src/local/processManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instanceManager.d.ts","sourceRoot":"","sources":["../../../src/local/instanceManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAkBxD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,WAAW,CAAkC;IAErD,OAAO;IAEP;;OAEG;WACiB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;IAMtD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;IAalF;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAoBtE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAevE;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAI5D;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzC;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY3C;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKtC;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"instanceManager.d.ts","sourceRoot":"","sources":["../../../src/local/instanceManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAkBxD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,SAAS,CAAwD;IACzE,OAAO,CAAC,WAAW,CAAkC;IAErD,OAAO;IAEP;;OAEG;WACiB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;IAMtD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;IAalF;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAoBtE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAevE;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAI5D;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzC;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY3C;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKtC;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAiC/C,SAAS;IA0CvB,OAAO,CAAC,SAAS;CA6BlB;AAKD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAKnE"}
|
|
@@ -125,11 +125,30 @@ class InstanceManager {
|
|
|
125
125
|
* Stops an instance
|
|
126
126
|
*/
|
|
127
127
|
async stopInstance(instance) {
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
try {
|
|
129
|
+
if (instance.processId) {
|
|
130
|
+
await (0, processManager_1.terminateProcess)(instance.processId);
|
|
131
|
+
}
|
|
132
|
+
else if (instance.dockerContainerId) {
|
|
133
|
+
await (0, processManager_1.stopContainer)(instance.dockerContainerId);
|
|
134
|
+
}
|
|
130
135
|
}
|
|
131
|
-
|
|
132
|
-
|
|
136
|
+
catch (e) {
|
|
137
|
+
const err = e;
|
|
138
|
+
const isAlreadyStoppedError = (error) => {
|
|
139
|
+
const code = (error.code || '').toLowerCase();
|
|
140
|
+
const message = (error.message || '').toLowerCase();
|
|
141
|
+
return code === 'esrch' || message.includes('esrch');
|
|
142
|
+
};
|
|
143
|
+
if (isAlreadyStoppedError(err)) {
|
|
144
|
+
(0, utils_log_1.info)(`Process ${instance.processId} already terminated. Cannot stop this DynamoDB instance since it is already stopped.`);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
(0, utils_log_1.warn)(`Failed to stop local DynamoDB instance: ${err.message}. It may already have been stopped.`, {
|
|
148
|
+
message: err.message,
|
|
149
|
+
stack: err.stack,
|
|
150
|
+
code: err.code,
|
|
151
|
+
});
|
|
133
152
|
}
|
|
134
153
|
}
|
|
135
154
|
async loadState() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instanceManager.js","sourceRoot":"","sources":["../../../src/local/instanceManager.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"instanceManager.js","sourceRoot":"","sources":["../../../src/local/instanceManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processManager.d.ts","sourceRoot":"","sources":["../../../src/local/processManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvE;
|
|
1
|
+
{"version":3,"file":"processManager.d.ts","sourceRoot":"","sources":["../../../src/local/processManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvE;AAqFD;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
|
|
@@ -17,9 +17,10 @@ async function terminateProcess(processId) {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
async function terminateWindowsProcess(processId) {
|
|
20
|
+
const isProcessNotFound = (stderr) => (stderr === null || stderr === void 0 ? void 0 : stderr.toString().toLowerCase().includes('could not be found')) || false;
|
|
20
21
|
// Try graceful termination first
|
|
21
22
|
const result = (0, child_process_1.spawnSync)('taskkill', ['/pid', processId.toString(), '/t']);
|
|
22
|
-
if (result.status !== 0) {
|
|
23
|
+
if (result.status !== 0 && !isProcessNotFound(result.stderr)) {
|
|
23
24
|
(0, utils_log_1.warn)(`Failed to terminate process ${processId} gracefully: ${result.stderr}`);
|
|
24
25
|
}
|
|
25
26
|
// Give it some time before force kill
|
|
@@ -27,48 +28,67 @@ async function terminateWindowsProcess(processId) {
|
|
|
27
28
|
// Force kill
|
|
28
29
|
const forceResult = (0, child_process_1.spawnSync)('taskkill', ['/pid', processId.toString(), '/f', '/t']);
|
|
29
30
|
if (forceResult.status !== 0) {
|
|
31
|
+
if (isProcessNotFound(forceResult.stderr)) {
|
|
32
|
+
(0, utils_log_1.debug)(`Process ${processId} does not exist, skipping termination`);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
30
35
|
(0, utils_log_1.error)(`Failed to force kill process ${processId}: ${forceResult.stderr}`);
|
|
31
36
|
throw new Error(`Failed to terminate process ${processId}`);
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
39
|
async function terminateUnixProcess(processId) {
|
|
40
|
+
const isESRCH = (e) => e.code === 'ESRCH';
|
|
41
|
+
// Try graceful termination first
|
|
35
42
|
try {
|
|
36
|
-
// Try graceful termination first
|
|
37
43
|
process.kill(processId, 'SIGTERM');
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
process.kill(processId, 'SIGKILL');
|
|
44
|
-
// Wait and verify process is gone
|
|
45
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
46
|
-
try {
|
|
47
|
-
process.kill(processId, 0);
|
|
48
|
-
(0, utils_log_1.error)(`Failed to terminate process ${processId} after SIGKILL`);
|
|
49
|
-
throw new Error(`Process ${processId} could not be terminated`);
|
|
50
|
-
}
|
|
51
|
-
catch (e) {
|
|
52
|
-
if (e.code === 'ESRCH') {
|
|
53
|
-
(0, utils_log_1.debug)(`Process ${processId} successfully terminated`);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
throw e;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
if (isESRCH(e)) {
|
|
47
|
+
(0, utils_log_1.debug)(`Process ${processId} does not exist, skipping termination`);
|
|
48
|
+
return; // Already stopped
|
|
59
49
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
50
|
+
throw e; // Other error
|
|
51
|
+
}
|
|
52
|
+
// Wait for graceful termination
|
|
53
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
54
|
+
// Check if process is still running
|
|
55
|
+
try {
|
|
56
|
+
process.kill(processId, 0); // Throws ESRCH if not running
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
if (isESRCH(e)) {
|
|
60
|
+
(0, utils_log_1.debug)(`Process ${processId} terminated gracefully`);
|
|
61
|
+
return; // Stopped gracefully
|
|
67
62
|
}
|
|
63
|
+
throw e; // Other error
|
|
64
|
+
}
|
|
65
|
+
// Process still exists, try force kill
|
|
66
|
+
(0, utils_log_1.debug)(`Process ${processId} did not terminate gracefully, attempting SIGKILL.`);
|
|
67
|
+
try {
|
|
68
|
+
process.kill(processId, 'SIGKILL');
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
if (e.code === 'ESRCH') {
|
|
72
|
+
(0, utils_log_1.debug)(`Process ${processId} terminated before SIGKILL could be sent.`);
|
|
73
|
+
return; // Stopped before force kill
|
|
74
|
+
}
|
|
75
|
+
throw e; // Other error
|
|
76
|
+
}
|
|
77
|
+
// Wait for force kill to take effect
|
|
78
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
79
|
+
// Verify process is gone
|
|
80
|
+
try {
|
|
81
|
+
process.kill(processId, 0);
|
|
82
|
+
// If we get here, process is still alive
|
|
83
|
+
(0, utils_log_1.error)(`Failed to terminate process ${processId} after SIGKILL`);
|
|
84
|
+
throw new Error(`Process ${processId} could not be terminated`);
|
|
68
85
|
}
|
|
69
86
|
catch (e) {
|
|
70
|
-
(
|
|
71
|
-
|
|
87
|
+
if (e.code === 'ESRCH') {
|
|
88
|
+
(0, utils_log_1.debug)(`Process ${processId} successfully terminated by SIGKILL`);
|
|
89
|
+
return; // Stopped by force kill
|
|
90
|
+
}
|
|
91
|
+
throw e; // Other error
|
|
72
92
|
}
|
|
73
93
|
}
|
|
74
94
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processManager.js","sourceRoot":"","sources":["../../../src/local/processManager.ts"],"names":[],"mappings":";;AAOA,4CAMC;
|
|
1
|
+
{"version":3,"file":"processManager.js","sourceRoot":"","sources":["../../../src/local/processManager.ts"],"names":[],"mappings":"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"}
|