@harperfast/harper 5.0.0-beta.5 → 5.0.0-beta.7

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.
Files changed (94) hide show
  1. package/bin/harper.js +1 -1
  2. package/bin/run.js +2 -2
  3. package/components/Application.ts +9 -5
  4. package/components/ApplicationScope.ts +3 -3
  5. package/components/componentLoader.ts +28 -15
  6. package/components/operations.js +13 -13
  7. package/components/operationsValidation.js +3 -3
  8. package/config/configUtils.js +20 -4
  9. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +3 -2
  10. package/dist/bin/harper.d.ts +1 -1
  11. package/dist/bin/harper.js +1 -1
  12. package/dist/bin/run.js +2 -2
  13. package/dist/bin/run.js.map +1 -1
  14. package/dist/components/Application.js +9 -4
  15. package/dist/components/Application.js.map +1 -1
  16. package/dist/components/ApplicationScope.d.ts +1 -1
  17. package/dist/components/ApplicationScope.js +2 -2
  18. package/dist/components/ApplicationScope.js.map +1 -1
  19. package/dist/components/componentLoader.js +30 -16
  20. package/dist/components/componentLoader.js.map +1 -1
  21. package/dist/components/operations.js +13 -13
  22. package/dist/components/operations.js.map +1 -1
  23. package/dist/components/operationsValidation.js +3 -3
  24. package/dist/components/operationsValidation.js.map +1 -1
  25. package/dist/config/configUtils.d.ts +6 -0
  26. package/dist/config/configUtils.js +23 -3
  27. package/dist/config/configUtils.js.map +1 -1
  28. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +3 -2
  29. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
  30. package/dist/resources/Resource.d.ts +2 -0
  31. package/dist/resources/Resource.js +11 -4
  32. package/dist/resources/Resource.js.map +1 -1
  33. package/dist/resources/RocksTransactionLogStore.d.ts +1 -0
  34. package/dist/resources/RocksTransactionLogStore.js +8 -1
  35. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  36. package/dist/resources/analytics/metadata.d.ts +1 -0
  37. package/dist/resources/analytics/metadata.js +1 -0
  38. package/dist/resources/analytics/metadata.js.map +1 -1
  39. package/dist/resources/analytics/read.js +1 -1
  40. package/dist/resources/analytics/read.js.map +1 -1
  41. package/dist/resources/analytics/write.d.ts +1 -0
  42. package/dist/resources/analytics/write.js +42 -0
  43. package/dist/resources/analytics/write.js.map +1 -1
  44. package/dist/resources/databases.js +19 -13
  45. package/dist/resources/databases.js.map +1 -1
  46. package/dist/security/jsLoader.js +167 -81
  47. package/dist/security/jsLoader.js.map +1 -1
  48. package/dist/server/REST.js +17 -10
  49. package/dist/server/REST.js.map +1 -1
  50. package/dist/server/http.js +2 -2
  51. package/dist/server/http.js.map +1 -1
  52. package/dist/server/itc/serverHandlers.js +1 -1
  53. package/dist/server/itc/serverHandlers.js.map +1 -1
  54. package/dist/utility/hdbTerms.d.ts +1 -0
  55. package/dist/utility/hdbTerms.js +1 -0
  56. package/dist/utility/hdbTerms.js.map +1 -1
  57. package/dist/utility/logging/harper_logger.d.ts +2 -1
  58. package/dist/utility/logging/harper_logger.js +47 -11
  59. package/dist/utility/logging/harper_logger.js.map +1 -1
  60. package/dist/utility/logging/readLog.js +2 -2
  61. package/dist/utility/logging/readLog.js.map +1 -1
  62. package/dist/utility/npmUtilities.js +2 -2
  63. package/dist/utility/npmUtilities.js.map +1 -1
  64. package/dist/validation/configValidator.js +18 -8
  65. package/dist/validation/configValidator.js.map +1 -1
  66. package/dist/validation/readLogValidator.js +2 -2
  67. package/dist/validation/readLogValidator.js.map +1 -1
  68. package/package.json +3 -3
  69. package/resources/Resource.ts +17 -6
  70. package/resources/RocksTransactionLogStore.ts +8 -1
  71. package/resources/analytics/metadata.ts +1 -0
  72. package/resources/analytics/read.ts +1 -1
  73. package/resources/analytics/write.ts +43 -2
  74. package/resources/databases.ts +24 -15
  75. package/security/jsLoader.ts +182 -91
  76. package/server/REST.ts +20 -11
  77. package/server/http.ts +3 -3
  78. package/server/itc/serverHandlers.js +1 -1
  79. package/static/defaultConfig.yaml +1 -1
  80. package/studio/web/assets/{index-ZhLX9iRh.js → index-ClD_q6ya.js} +5 -5
  81. package/studio/web/assets/{index-ZhLX9iRh.js.map → index-ClD_q6ya.js.map} +1 -1
  82. package/studio/web/assets/{index.lazy-DzgnppiN.js → index.lazy-CXzU1gVu.js} +2 -2
  83. package/studio/web/assets/{index.lazy-DzgnppiN.js.map → index.lazy-CXzU1gVu.js.map} +1 -1
  84. package/studio/web/assets/{profile-DJ9V18dX.js → profile-DCNVg5yY.js} +2 -2
  85. package/studio/web/assets/{profile-DJ9V18dX.js.map → profile-DCNVg5yY.js.map} +1 -1
  86. package/studio/web/assets/{status-DKZUoEUd.js → status-CoGlcjSB.js} +2 -2
  87. package/studio/web/assets/{status-DKZUoEUd.js.map → status-CoGlcjSB.js.map} +1 -1
  88. package/studio/web/index.html +1 -1
  89. package/utility/hdbTerms.ts +1 -0
  90. package/utility/logging/harper_logger.js +44 -11
  91. package/utility/logging/readLog.js +2 -2
  92. package/utility/npmUtilities.js +2 -2
  93. package/validation/configValidator.js +16 -8
  94. package/validation/readLogValidator.js +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"npmUtilities.js","sourceRoot":"","sources":["../../utility/npmUtilities.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npmUtilities.js","sourceRoot":"","sources":["../../utility/npmUtilities.js"],"names":[],"mappings":"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"}
@@ -199,8 +199,18 @@ function doesPathExist(pathToCheck) {
199
199
  return `Specified path ${pathToCheck} does not exist.`;
200
200
  }
201
201
  function validatePath(value, helpers) {
202
- Joi.assert(value, string.pattern(/^[\\/]$|([\\/a-zA-Z_0-9:-]+)+$/, 'directory path'));
203
- const doesExistMsg = doesPathExist(value);
202
+ Joi.assert(value, string.pattern(/^[\\/~]$|([\\/~a-zA-Z_0-9:-]+)+$/, 'directory path'));
203
+ let resolvedValue;
204
+ if (value.startsWith('~/')) {
205
+ resolvedValue = path.join(os.homedir(), value.slice(1));
206
+ }
207
+ else if (path.isAbsolute(value)) {
208
+ resolvedValue = value;
209
+ }
210
+ else {
211
+ resolvedValue = path.join(hdbRoot, value);
212
+ }
213
+ const doesExistMsg = doesPathExist(resolvedValue);
204
214
  if (doesExistMsg) {
205
215
  return helpers.message(doesExistMsg);
206
216
  }
@@ -262,18 +272,18 @@ function setDefaultRoot(parent, helpers) {
262
272
  }
263
273
  switch (configParam) {
264
274
  case 'componentsRoot':
265
- return path.join(hdbRoot, DEFAULT_COMPONENTS_FOLDER);
275
+ return DEFAULT_COMPONENTS_FOLDER;
266
276
  case 'logging.root':
267
- return path.join(hdbRoot, DEFAULT_LOG_FOLDER);
277
+ return DEFAULT_LOG_FOLDER;
268
278
  case 'storage.path':
269
279
  const legacyStoragePath = path.join(hdbRoot, hdbTerms.LEGACY_DATABASES_DIR_NAME);
270
280
  if (fs.existsSync(legacyStoragePath))
271
- return legacyStoragePath;
272
- return path.join(hdbRoot, hdbTerms.DATABASES_DIR_NAME);
281
+ return hdbTerms.LEGACY_DATABASES_DIR_NAME;
282
+ return hdbTerms.DATABASES_DIR_NAME;
273
283
  case 'logging.rotation.path':
274
- return path.join(hdbRoot, DEFAULT_LOG_FOLDER);
284
+ return DEFAULT_LOG_FOLDER;
275
285
  case 'operationsApi.network.domainSocket':
276
- return configParam == null ? null : path.join(hdbRoot, 'operations-server');
286
+ return configParam == null ? null : 'operations-server';
277
287
  default:
278
288
  throw new Error(`Error setting default root for config parameter: ${configParam}. Unrecognized config parameter`);
279
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../validation/configValidator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../validation/configValidator.js"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
- const envMangr = require('../utility/environment/environmentManager.js');
3
2
  const Joi = require('joi');
4
3
  const validator = require('./validationWrapper.js');
5
4
  const moment = require('moment');
6
5
  const fs = require('fs-extra');
7
6
  const path = require('path');
8
7
  const _ = require('lodash');
8
+ const { getConfigPath } = require('../config/configUtils.js');
9
9
  const hdbTerms = require("../utility/hdbTerms.js");
10
10
  const { LOG_LEVELS } = require("../utility/hdbTerms.js");
11
11
  const LOG_DATE_FORMAT = 'YYYY-MM-DD hh:mm:ss';
@@ -34,7 +34,7 @@ function validateReadLogPath(value, helpers) {
34
34
  if (processLogName[value] === undefined) {
35
35
  return helpers.message(`'log_name' '${value}' is invalid.`);
36
36
  }
37
- const logPath = envMangr.get(hdbTerms.HDB_SETTINGS_NAMES.LOG_PATH_KEY);
37
+ const logPath = getConfigPath(hdbTerms.HDB_SETTINGS_NAMES.LOG_PATH_KEY);
38
38
  const logName = value === undefined ? hdbTerms.LOG_NAMES.HDB : value;
39
39
  const readLogPath = logName === hdbTerms.LOG_NAMES.INSTALL
40
40
  ? path.join(INSTALL_LOG_LOCATION, hdbTerms.LOG_NAMES.INSTALL)
@@ -1 +1 @@
1
- {"version":3,"file":"readLogValidator.js","sourceRoot":"","sources":["../../validation/readLogValidator.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACzE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACpD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACnD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEzD,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEhE,MAAM,CAAC,OAAO,GAAG,UAAU,MAAM;IAChC,OAAO,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACnC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAChC,KAAK,EAAE,GAAG,CAAC,KAAK,CACf,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,KAAK,CAChB;IACD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACzC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAAK,EAAE,OAAO;IACvC,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,cAAc,EAAE,CAAC;QAC/E,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,eAAe,CAAC,CAAC;IAClF,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO;IAC1C,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,MAAM,WAAW,GAChB,OAAO,KAAK,QAAQ,CAAC,SAAS,CAAC,OAAO;QACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,KAAK,mBAAmB,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"readLogValidator.js","sourceRoot":"","sources":["../../validation/readLogValidator.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@harperfast/harper",
3
3
  "description": "Harper is an open-source Node.js performance platform that unifies database, cache, application, and messaging layers into one in-memory process.",
4
- "version": "5.0.0-beta.5",
4
+ "version": "5.0.0-beta.7",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://harper.fast",
7
7
  "bugs": {
@@ -125,7 +125,7 @@
125
125
  "@types/sinon": "^17.0.4",
126
126
  "@types/tar-fs": "^2.0.4",
127
127
  "@typescript-eslint/parser": "^8.48.1",
128
- "axios": "^1.12.2",
128
+ "axios": "1.14.0",
129
129
  "chai": "^6.2.0",
130
130
  "chai-as-promised": "^8.0.2",
131
131
  "chai-integer": "^0.1.0",
@@ -157,7 +157,7 @@
157
157
  "@fastify/cors": "^11.2.0",
158
158
  "@fastify/static": "^9.0.0",
159
159
  "@harperfast/extended-iterable": "^1.0.1",
160
- "@harperfast/rocksdb-js": "^0.1.13",
160
+ "@harperfast/rocksdb-js": "^0.1.14",
161
161
  "@turf/area": "6.5.0",
162
162
  "@turf/boolean-contains": "6.5.0",
163
163
  "@turf/boolean-disjoint": "6.5.0",
@@ -683,15 +683,26 @@ function transactional(
683
683
  }
684
684
  }
685
685
  }
686
- function missingMethod(resource, method) {
687
- const error = new ClientError(`The ${resource.constructor.name} does not have a ${method} method implemented`, 405);
688
- error.allow = [];
686
+ const KNOWN_METHODS = ['get', 'head', 'put', 'post', 'delete', 'patch', 'query', 'move', 'copy'];
687
+ type ClientErrorWithMethods = ClientError & { allow: string[]; method: string };
688
+ export function missingMethod(resource: any, method: string) {
689
+ const error = new ClientError(
690
+ `The ${resource.constructor.name} does not have a ${method} method implemented`,
691
+ 405
692
+ ) as ClientErrorWithMethods;
693
+ error.allow = allowedMethods(resource);
689
694
  error.method = method;
690
- for (const method of ['get', 'put', 'post', 'delete', 'query', 'move', 'copy']) {
691
- if (typeof resource[method] === 'function') error.allow.push(method);
692
- }
693
695
  throw error;
694
696
  }
697
+
698
+ export function allowedMethods(resource: any) {
699
+ const allow = [];
700
+ for (const method of KNOWN_METHODS) {
701
+ if (typeof resource[method] === 'function') allow.push(method);
702
+ }
703
+ return allow;
704
+ }
705
+
695
706
  /**
696
707
  * This is responsible for handling a select query parameter/call that selects specific
697
708
  * properties from the returned record(s).
@@ -3,6 +3,7 @@ import { ExtendedIterable } from '@harperfast/extended-iterable';
3
3
  import { Decoder, readAuditEntry, ENTRY_DATAVIEW, AuditRecord, createAuditEntry } from './auditStore.ts';
4
4
  import { isMainThread } from 'node:worker_threads';
5
5
  import { EventEmitter } from 'node:events';
6
+ import { asBinary } from 'lmdb';
6
7
 
7
8
  if (!process.env.HARPER_NO_FLUSH_ON_EXIT && isMainThread) {
8
9
  // we want to be able to test log replay
@@ -81,7 +82,7 @@ export class RocksTransactionLogStore extends EventEmitter {
81
82
 
82
83
  putSync(suggestedKey: any, value: any, options: any) {
83
84
  if (typeof suggestedKey === 'symbol') {
84
- this.rootStore.putSync(suggestedKey, value, options);
85
+ this.rootStore.putSync(suggestedKey, asBinary(value), options);
85
86
  } else {
86
87
  this.put(suggestedKey, value, options);
87
88
  }
@@ -107,6 +108,12 @@ export class RocksTransactionLogStore extends EventEmitter {
107
108
  return this.rootStore.getSync(key);
108
109
  }
109
110
  }
111
+ getBinary(key: any) {
112
+ if (typeof key === 'number') {
113
+ throw new Error('Unsupported binary access by number');
114
+ }
115
+ return this.rootStore.getBinarySync(key);
116
+ }
110
117
  getEntry() {
111
118
  throw new Error('Not implemented');
112
119
  }
@@ -5,6 +5,7 @@ export const METRIC = {
5
5
  MAIN_THREAD_UTILIZATION: 'main-thread-utilization',
6
6
  RESOURCE_USAGE: 'resource-usage',
7
7
  UTILIZATION: 'utilization',
8
+ NODE_STORAGE: 'node-storage',
8
9
  } as const;
9
10
 
10
11
  export type BuiltInMetricName = (typeof METRIC)[keyof typeof METRIC];
@@ -131,7 +131,7 @@ export async function get(metric: string, opts?: GetAnalyticsOpts): Promise<Metr
131
131
  // remove nodeId from 'id' attr and resolve it to the actual hostname and
132
132
  // add back in as 'node' attr if selected
133
133
  const nodeId = result.id[1];
134
- result['id'] = result['id'][0];
134
+ result = { ...result, id: result.id[0] };
135
135
  if (isSelected(select, 'node')) {
136
136
  log.trace?.(`get_analytics lookup hostname for nodeId: ${nodeId}`);
137
137
  const hostname = await lookupHostname(nodeId);
@@ -3,12 +3,12 @@ import { onMessageByType } from '../../server/threads/manageThreads.js';
3
3
  import { getDatabases, table } from '../databases.ts';
4
4
  import type { Databases, Table, Tables } from '../databases.ts';
5
5
  import harperLogger from '../../utility/logging/harper_logger.js';
6
- import { stat } from 'node:fs/promises';
6
+ import { stat, readdir } from 'node:fs/promises';
7
7
  const { getLogFilePath, forComponent } = harperLogger;
8
8
  import { dirname, join } from 'path';
9
9
  import { open } from 'fs/promises';
10
10
  import { getNextMonotonicTime } from '../../utility/lmdb/commonUtility.js';
11
- import { get as envGet, initSync } from '../../utility/environment/environmentManager.js';
11
+ import { get as envGet, getHdbBasePath, initSync } from '../../utility/environment/environmentManager.js';
12
12
  import { CONFIG_PARAMS } from '../../utility/hdbTerms.ts';
13
13
  import { server } from '../../server/Server.ts';
14
14
  import * as fs from 'node:fs';
@@ -382,6 +382,43 @@ function storeVolumeMetrics(analyticsTable: Table, databases: Databases) {
382
382
  }
383
383
  }
384
384
 
385
+ export async function getDirectorySizeAsync(dirPath: string): Promise<number> {
386
+ try {
387
+ const entries = await readdir(dirPath, { withFileTypes: true });
388
+ const sizes = await Promise.all(
389
+ entries.map((entry) => {
390
+ const fullPath = join(dirPath, entry.name);
391
+ if (entry.isDirectory()) return getDirectorySizeAsync(fullPath);
392
+ if (entry.isFile()) return stat(fullPath).then((s) => s.size);
393
+ return 0;
394
+ })
395
+ );
396
+ let total = 0;
397
+ for (const size of sizes) total += size;
398
+ return total;
399
+ } catch {
400
+ // directory may not exist or be inaccessible
401
+ return 0;
402
+ }
403
+ }
404
+
405
+ const DEFAULT_STORAGE_INTERVAL = 10;
406
+ let nodeStorageInterval = DEFAULT_STORAGE_INTERVAL;
407
+ let nodeStorageCycleCount = 0;
408
+
409
+ async function storeNodeStorageMetric(analyticsTable: Table) {
410
+ if (nodeStorageInterval <= 0 || ++nodeStorageCycleCount % nodeStorageInterval !== 1) return;
411
+ try {
412
+ const size = await getDirectorySizeAsync(getHdbBasePath());
413
+ storeMetric(analyticsTable, {
414
+ metric: METRIC.NODE_STORAGE,
415
+ size,
416
+ });
417
+ } catch (error) {
418
+ log.warn?.('Error getting node storage metric', error);
419
+ }
420
+ }
421
+
385
422
  async function aggregation(fromPeriod, toPeriod = 60000) {
386
423
  const rawAnalyticsTable = getRawAnalyticsTable();
387
424
  const analyticsTable = getAnalyticsTable();
@@ -574,6 +611,9 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
574
611
  // database storage volume metrics
575
612
  storeVolumeMetrics(analyticsTable, databases);
576
613
  storeVolumeMetrics(analyticsTable, { system: databases.system });
614
+
615
+ // node storage metric (total HDB directory size)
616
+ await storeNodeStorageMetric(analyticsTable);
577
617
  }
578
618
  let lastIdle = 0;
579
619
  let lastActive = 0;
@@ -654,6 +694,7 @@ if (!parentPort) onMessageByType(ANALYTICS_REPORT_TYPE, recordAnalytics);
654
694
  let scheduledTasksRunning;
655
695
  function startScheduledTasks() {
656
696
  scheduledTasksRunning = true;
697
+ nodeStorageInterval = envGet(CONFIG_PARAMS.ANALYTICS_STORAGEINTERVAL) ?? DEFAULT_STORAGE_INTERVAL;
657
698
  const AGGREGATE_PERIOD = envGet(CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) * 1000;
658
699
  if (AGGREGATE_PERIOD) {
659
700
  setInterval(
@@ -12,6 +12,7 @@ import {
12
12
  import { makeTable } from './Table.ts';
13
13
  import OpenEnvironmentObject from '../utility/lmdb/OpenEnvironmentObject.js';
14
14
  import { CONFIG_PARAMS, LEGACY_DATABASES_DIR_NAME, DATABASES_DIR_NAME } from '../utility/hdbTerms.ts';
15
+ import { getConfigPath } from '../config/configUtils.js';
15
16
  import { _assignPackageExport } from '../globals.js';
16
17
  import { getIndexedValues } from '../utility/lmdb/commonUtility.js';
17
18
  import * as signalling from '../utility/signalling.js';
@@ -176,7 +177,7 @@ export function getDatabases(): Databases {
176
177
  if (process.env.SCHEMAS_DATA_PATH) schemaConfigs.data = { path: process.env.SCHEMAS_DATA_PATH };
177
178
  databasePath =
178
179
  process.env.STORAGE_PATH ||
179
- envGet(CONFIG_PARAMS.STORAGE_PATH) ||
180
+ getConfigPath(CONFIG_PARAMS.STORAGE_PATH) ||
180
181
  (databasePath && (existsSync(databasePath) ? databasePath : join(getHdbBasePath(), LEGACY_DATABASES_DIR_NAME)));
181
182
  if (!databasePath) return;
182
183
 
@@ -694,7 +695,7 @@ export function database({ database: databaseName, table: tableName }) {
694
695
  tablePath ||
695
696
  databaseConfig[databaseName]?.path ||
696
697
  process.env.STORAGE_PATH ||
697
- envGet(CONFIG_PARAMS.STORAGE_PATH) ||
698
+ getConfigPath(CONFIG_PARAMS.STORAGE_PATH) ||
698
699
  (existsSync(join(hdbBasePath, DATABASES_DIR_NAME))
699
700
  ? join(hdbBasePath, DATABASES_DIR_NAME)
700
701
  : join(hdbBasePath, LEGACY_DATABASES_DIR_NAME));
@@ -734,41 +735,49 @@ export async function dropDatabase(databaseName) {
734
735
  if (!databases[databaseName]) throw new Error('Database does not exist');
735
736
  const dbTables = databases[databaseName];
736
737
  let rootStore;
738
+
737
739
  for (const tableName in dbTables) {
738
740
  const table = dbTables[tableName];
739
741
  rootStore = table.primaryStore.rootStore;
740
-
741
742
  lmdbDatabaseEnvs.delete(rootStore.path);
742
743
  rocksdbDatabaseEnvs.delete(rootStore.path);
744
+ }
745
+
746
+ for (const tableName in dbTables) {
747
+ databaseEventsEmitter.emit('dropTable', tableName, databaseName);
748
+ }
749
+
750
+ if (databaseName === 'data') {
751
+ for (const tableName in tables) {
752
+ delete tables[tableName];
753
+ }
754
+ delete tables[DEFINED_TABLES];
755
+ }
756
+ delete databases[databaseName];
743
757
 
758
+ databaseEventsEmitter.emit('dropDatabase', databaseName);
759
+
760
+ if (rootStore) {
744
761
  if (rootStore.status === 'open') {
745
762
  if (rootStore instanceof RocksDatabase) {
746
763
  rootStore.close();
747
764
  rootStore.destroy();
748
- } else if (rootStore.status === 'open') {
765
+ } else {
749
766
  await rootStore.close();
750
767
  await unlink(rootStore.path);
751
768
  }
752
769
  }
753
- databaseEventsEmitter.emit('dropTable', tableName, databaseName);
754
- }
755
- if (!rootStore) {
770
+ } else {
756
771
  rootStore = database({ database: databaseName, table: null });
757
772
  if (rootStore instanceof RocksDatabase) {
773
+ rootStore.close();
758
774
  rootStore.destroy();
759
775
  } else if (rootStore.status === 'open') {
760
776
  await rootStore.close();
761
777
  await unlink(rootStore.path);
762
778
  }
763
779
  }
764
- if (databaseName === 'data') {
765
- for (const tableName in tables) {
766
- delete tables[tableName];
767
- }
768
- delete tables[DEFINED_TABLES];
769
- }
770
- delete databases[databaseName];
771
- databaseEventsEmitter.emit('dropDatabase', databaseName);
780
+
772
781
  await deleteRootBlobPathsForDB(rootStore);
773
782
  }
774
783
  // opens an index, consulting with custom indexes that may use alternate store configuration