backend-manager 5.9.25 → 5.9.26
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/CLAUDE.md +6 -2
- package/package.json +9 -9
- package/src/test/fixtures/firebase-project/.temp/test-mode.json +1 -1
- package/src/test/fixtures/firebase-project/database-debug.log +8 -4
- package/src/test/fixtures/firebase-project/firestore-debug.log +111 -1
- package/src/test/fixtures/firebase-project/pubsub-debug.log +4 -2
package/CLAUDE.md
CHANGED
|
@@ -41,10 +41,13 @@ All `npx mgr <cmd>` aliases work: `npx bm <cmd>`, `npx bem <cmd>`, `npx backend-
|
|
|
41
41
|
|
|
42
42
|
### For Framework Development (This Repository)
|
|
43
43
|
|
|
44
|
+
> **🚫 NEVER use `npx mgr ...` from the framework repo.** `npx mgr` is for CONSUMER projects (where the bin is linked in `functions/node_modules/.bin/`). From the framework repo, use `npm test`, `npm run prepare`, etc. — the `scripts` in `package.json` call the local `bin/` directly.
|
|
45
|
+
|
|
44
46
|
1. `npm install` — install BEM's own deps
|
|
45
47
|
2. `npm run prepare` — build once: copies `src/` → `dist/` via prepare-package
|
|
46
48
|
3. `npm run prepare:watch` — watch mode
|
|
47
|
-
4.
|
|
49
|
+
4. `npm test` — run framework tests via the bundled fixture project (equivalent to `node bin/backend-manager test`). Accepts the same target syntax: `npm test -- mgr:helpers/content/blog-auto-publisher`
|
|
50
|
+
5. Test in the **designated test consumer** — `../ultimate-jekyll-backend` is BEM's consumer for validating framework changes end-to-end (exercise any consumer-level flow there freely: emulator, tests, deploy paths). From inside it, run `npx mgr install dev` to swap BEM to this local repo — required whenever you edit the framework source and want the consumer to pick up the changes (the consumer otherwise keeps its installed `node_modules/backend-manager`). Reverse with `npx mgr install live`. If `npx mgr` then errors with "could not determine executable to run", the local install skipped bin-linking — re-run `npm install` to relink, or call `node node_modules/backend-manager/bin/backend-manager <cmd>` directly.
|
|
48
51
|
|
|
49
52
|
## Architecture
|
|
50
53
|
|
|
@@ -91,7 +94,8 @@ See [docs/cli-firestore-auth.md](docs/cli-firestore-auth.md) and [docs/cli-logs.
|
|
|
91
94
|
|
|
92
95
|
## Development Workflow
|
|
93
96
|
|
|
94
|
-
- **🚫 NEVER
|
|
97
|
+
- **🚫 NEVER use `npx mgr ...` from the framework repo** — `npx mgr` is for CONSUMER projects only (where the bin lives in `functions/node_modules/.bin/`). From the framework repo, use `npm test`, `npm run prepare`, etc. — the `scripts` in `package.json` call `node bin/backend-manager` directly. This applies to ALL four OMEGA frameworks (BEM/UJM/BXM/EM).
|
|
98
|
+
- **🚫 NEVER run `npx mgr serve` / `npx mgr emulator`** (consumer projects) — they're the user's long-running dev processes. Assume they're already running; if they aren't, **instruct the user to run them** rather than running them yourself (running them again kills theirs). To see output, **read the `functions/*.log` files** (`dev.log`, `emulator.log`, `test.log`) — never tail/attach to the process. Running `npx mgr test` is fine (it auto-starts its own emulator if needed).
|
|
95
99
|
- **Where the output logs live:** BEM CLI commands tee output to `<projectDir>/functions/` (not `logs/` — BEM's deliberate exception, co-located with firebase-tools' `*-debug.log`): `dev.log` (`npx mgr serve`), `deploy.log` (`npx mgr deploy`), `emulator.log` (`npx mgr emulator` / test with own emulator), `test.log` (`npx mgr test`), `production.log` (`npx mgr logs`). The `dev`/`test` names match EM/BXM/UJM; see [docs/logging.md](docs/logging.md).
|
|
96
100
|
- **If the user reports an error**, check the emulator/test output for the root cause before guessing.
|
|
97
101
|
- **Live-test UI changes via CDP.** When working on admin dashboards or browser-facing endpoints, use the `chrome-devtools` MCP tools (screenshots, click, evaluate JS, console logs) to verify the change works in the running browser. See `~/.claude/mcp-server/servers/chrome-devtools/CLAUDE.md`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "backend-manager",
|
|
3
|
-
"version": "5.9.
|
|
3
|
+
"version": "5.9.26",
|
|
4
4
|
"description": "Quick tools for developing Firebase functions",
|
|
5
5
|
"main": "src/manager/index.js",
|
|
6
6
|
"files": [
|
|
@@ -70,22 +70,22 @@
|
|
|
70
70
|
"@anthropic-ai/sdk": "^0.99.0",
|
|
71
71
|
"@firebase/rules-unit-testing": "^5.0.1",
|
|
72
72
|
"@google-cloud/firestore": "^7.11.6",
|
|
73
|
-
"@google-cloud/pubsub": "^5.3.
|
|
74
|
-
"@google-cloud/storage": "^7.
|
|
75
|
-
"@inquirer/prompts": "^8.5.
|
|
73
|
+
"@google-cloud/pubsub": "^5.3.1",
|
|
74
|
+
"@google-cloud/storage": "^7.21.0",
|
|
75
|
+
"@inquirer/prompts": "^8.5.2",
|
|
76
76
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
77
77
|
"@octokit/rest": "^22.0.1",
|
|
78
78
|
"@resvg/resvg-js": "^2.6.2",
|
|
79
79
|
"@sendgrid/mail": "^8.1.6",
|
|
80
80
|
"@sentry/node": "^10.54.0",
|
|
81
|
-
"body-parser": "^2.
|
|
81
|
+
"body-parser": "^2.3.0",
|
|
82
82
|
"busboy": "^1.6.0",
|
|
83
83
|
"chalk": "^5.6.2",
|
|
84
84
|
"cheerio": "^1.2.0",
|
|
85
85
|
"cors": "^2.8.6",
|
|
86
86
|
"dotenv": "^17.4.2",
|
|
87
87
|
"express": "^5.2.1",
|
|
88
|
-
"fast-xml-parser": "^5.9.
|
|
88
|
+
"fast-xml-parser": "^5.9.3",
|
|
89
89
|
"fs-jetpack": "^5.1.0",
|
|
90
90
|
"glob": "^13.0.6",
|
|
91
91
|
"hcaptcha": "^0.2.0",
|
|
@@ -103,11 +103,11 @@
|
|
|
103
103
|
"node-powertools": "^3.0.0",
|
|
104
104
|
"npm-api": "^1.0.1",
|
|
105
105
|
"pushid": "^1.0.0",
|
|
106
|
-
"sanitize-html": "^2.17.
|
|
107
|
-
"sharp": "^0.
|
|
106
|
+
"sanitize-html": "^2.17.5",
|
|
107
|
+
"sharp": "^0.35.2",
|
|
108
108
|
"stripe": "^22.2.0",
|
|
109
109
|
"uid-generator": "^2.0.0",
|
|
110
|
-
"uuid": "^14.0.
|
|
110
|
+
"uuid": "^14.0.1",
|
|
111
111
|
"wonderful-fetch": "^2.0.5",
|
|
112
112
|
"wonderful-log": "^1.0.7",
|
|
113
113
|
"wonderful-version": "^1.3.2",
|
|
@@ -2,7 +2,11 @@ WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
|
|
|
2
2
|
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by akka.util.Unsafe (file:/Users/ian/.cache/firebase/emulators/firebase-database-emulator-v4.11.2.jar)
|
|
3
3
|
WARNING: Please consider reporting this to the maintainers of class akka.util.Unsafe
|
|
4
4
|
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
|
|
5
|
-
02:
|
|
6
|
-
02:
|
|
7
|
-
02:
|
|
8
|
-
02:
|
|
5
|
+
02:47:10.430 [NamespaceSystem-akka.actor.default-dispatcher-4] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started
|
|
6
|
+
02:47:10.526 [main] INFO com.firebase.server.forge.App$ - Listening at 127.0.0.1:9000
|
|
7
|
+
02:47:20.571 [NamespaceSystem-akka.actor.default-dispatcher-4] INFO com.firebase.core.namespace.NamespaceActor - demo-backend-manager-default-rtdb successfully activated FBKV (SurveyIdle(0)) wait: 68ms, init: 0ms
|
|
8
|
+
02:47:20.599 [NamespaceSystem-blocking-namespace-operation-dispatcher-6] INFO com.firebase.core.namespace.StateManager - Namespace demo-backend-manager-default-rtdb status Active to Active
|
|
9
|
+
02:47:32.673 [Thread-0] INFO com.firebase.server.forge.App$ - Attempting graceful shutdown.
|
|
10
|
+
02:47:32.678 [NamespaceSystem-akka.actor.default-dispatcher-4] INFO com.firebase.core.namespace.Terminator$Terminator - 1 actors left to terminate: demo-backend-manager-default-rtdb
|
|
11
|
+
02:47:32.681 [NamespaceSystem-akka.actor.default-dispatcher-5] INFO com.firebase.core.namespace.NamespaceActor - stopped namespace actor for demo-backend-manager-default-rtdb
|
|
12
|
+
02:47:32.684 [Thread-0] INFO com.firebase.server.forge.App$ - Graceful shutdown complete.
|
|
@@ -2,7 +2,7 @@ WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
|
|
|
2
2
|
WARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (file:/Users/ian/.cache/firebase/emulators/cloud-firestore-emulator-v1.21.0.jar)
|
|
3
3
|
WARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2
|
|
4
4
|
WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
|
|
5
|
-
Jun 30, 2026 2:
|
|
5
|
+
Jun 30, 2026 2:47:09 AM com.google.cloud.datastore.emulator.firestore.websocket.WebSocketServer start
|
|
6
6
|
INFO: Started WebSocket server on ws://127.0.0.1:9150
|
|
7
7
|
|
|
8
8
|
API endpoint: http://127.0.0.1:8080
|
|
@@ -20,5 +20,115 @@ If you are running a Firestore in Datastore Mode project, run:
|
|
|
20
20
|
Note: Support for Datastore Mode is in preview. If you encounter any bugs please file at https://github.com/firebase/firebase-tools/issues.
|
|
21
21
|
Dev App Server is now running.
|
|
22
22
|
|
|
23
|
+
Jun 30, 2026 2:47:19 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
24
|
+
INFO: Detected non-HTTP/2 connection.
|
|
25
|
+
Jun 30, 2026 2:47:20 AM io.grpc.netty.TcpMetrics loadEpollInfo
|
|
26
|
+
INFO: Epoll available during static init of TcpMetrics:false
|
|
27
|
+
Jun 30, 2026 2:47:20 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
28
|
+
INFO: Detected HTTP/2 connection.
|
|
29
|
+
Jun 30, 2026 2:47:21 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
30
|
+
INFO: Detected HTTP/2 connection.
|
|
31
|
+
Jun 30, 2026 2:47:21 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
32
|
+
INFO: Detected HTTP/2 connection.
|
|
33
|
+
Jun 30, 2026 2:47:30 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
34
|
+
INFO: Detected HTTP/2 connection.
|
|
35
|
+
Jun 30, 2026 2:47:30 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
36
|
+
INFO: Detected HTTP/2 connection.
|
|
37
|
+
Jun 30, 2026 2:47:30 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
38
|
+
INFO: Detected HTTP/2 connection.
|
|
39
|
+
Jun 30, 2026 2:47:30 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
40
|
+
INFO: Detected HTTP/2 connection.
|
|
41
|
+
Jun 30, 2026 2:47:30 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
42
|
+
INFO: Detected HTTP/2 connection.
|
|
43
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
44
|
+
INFO: Detected HTTP/2 connection.
|
|
45
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
46
|
+
INFO: Detected HTTP/2 connection.
|
|
47
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
48
|
+
INFO: Detected HTTP/2 connection.
|
|
49
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
50
|
+
INFO: Detected HTTP/2 connection.
|
|
51
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
52
|
+
INFO: Detected HTTP/2 connection.
|
|
53
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
54
|
+
INFO: Detected HTTP/2 connection.
|
|
55
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
56
|
+
INFO: Detected HTTP/2 connection.
|
|
57
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
58
|
+
INFO: Detected HTTP/2 connection.
|
|
59
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
60
|
+
INFO: Detected HTTP/2 connection.
|
|
61
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
62
|
+
INFO: Detected HTTP/2 connection.
|
|
63
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
64
|
+
INFO: Detected HTTP/2 connection.
|
|
65
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
66
|
+
INFO: Detected HTTP/2 connection.
|
|
67
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
68
|
+
INFO: Detected HTTP/2 connection.
|
|
69
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
70
|
+
INFO: Detected HTTP/2 connection.
|
|
71
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
72
|
+
INFO: Detected HTTP/2 connection.
|
|
73
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
74
|
+
INFO: Detected HTTP/2 connection.
|
|
75
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
76
|
+
INFO: Detected HTTP/2 connection.
|
|
77
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
78
|
+
INFO: Detected HTTP/2 connection.
|
|
79
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
80
|
+
INFO: Detected HTTP/2 connection.
|
|
81
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
82
|
+
INFO: Detected HTTP/2 connection.
|
|
83
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
84
|
+
INFO: Detected HTTP/2 connection.
|
|
85
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
86
|
+
INFO: Detected HTTP/2 connection.
|
|
87
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
88
|
+
INFO: Detected HTTP/2 connection.
|
|
89
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
90
|
+
INFO: Detected HTTP/2 connection.
|
|
91
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
92
|
+
INFO: Detected HTTP/2 connection.
|
|
93
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
94
|
+
INFO: Detected HTTP/2 connection.
|
|
95
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
96
|
+
INFO: Detected HTTP/2 connection.
|
|
97
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
98
|
+
INFO: Detected HTTP/2 connection.
|
|
99
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
100
|
+
INFO: Detected HTTP/2 connection.
|
|
101
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
102
|
+
INFO: Detected HTTP/2 connection.
|
|
103
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
104
|
+
INFO: Detected HTTP/2 connection.
|
|
105
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
106
|
+
INFO: Detected HTTP/2 connection.
|
|
107
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
108
|
+
INFO: Detected HTTP/2 connection.
|
|
109
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
110
|
+
INFO: Detected HTTP/2 connection.
|
|
111
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
112
|
+
INFO: Detected HTTP/2 connection.
|
|
113
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
114
|
+
INFO: Detected HTTP/2 connection.
|
|
115
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
116
|
+
INFO: Detected HTTP/2 connection.
|
|
117
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
118
|
+
INFO: Detected HTTP/2 connection.
|
|
119
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
120
|
+
INFO: Detected HTTP/2 connection.
|
|
121
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
122
|
+
INFO: Detected HTTP/2 connection.
|
|
123
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
124
|
+
INFO: Detected HTTP/2 connection.
|
|
125
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
126
|
+
INFO: Detected HTTP/2 connection.
|
|
127
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
128
|
+
INFO: Detected HTTP/2 connection.
|
|
129
|
+
Jun 30, 2026 2:47:31 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
130
|
+
INFO: Detected HTTP/2 connection.
|
|
131
|
+
Jun 30, 2026 2:47:32 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
132
|
+
INFO: Detected HTTP/2 connection.
|
|
23
133
|
*** shutting down gRPC server since JVM is shutting down
|
|
24
134
|
*** server shut down
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
This is the Google Pub/Sub fake.
|
|
2
2
|
Implementation may be incomplete or differ from the real system.
|
|
3
|
-
Jun 30, 2026 2:
|
|
3
|
+
Jun 30, 2026 2:47:13 AM com.google.cloud.pubsub.testing.v1.Main main
|
|
4
4
|
INFO: IAM integration is disabled. IAM policy methods and ACL checks are not supported
|
|
5
5
|
SLF4J(W): No SLF4J providers were found.
|
|
6
6
|
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
|
|
@@ -9,7 +9,9 @@ WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
|
|
|
9
9
|
WARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (file:/Users/ian/.cache/firebase/emulators/pubsub-emulator-0.8.33/pubsub-emulator/lib/cloud-pubsub-emulator-0.8.33-all.jar)
|
|
10
10
|
WARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2
|
|
11
11
|
WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
|
|
12
|
-
Jun 30, 2026 2:
|
|
12
|
+
Jun 30, 2026 2:47:14 AM com.google.cloud.pubsub.testing.v1.Main main
|
|
13
13
|
INFO: Server started, listening on 8085
|
|
14
|
+
Jun 30, 2026 2:47:20 AM io.gapi.emulators.netty.HttpVersionRoutingHandler channelRead
|
|
15
|
+
INFO: Detected HTTP/2 connection.
|
|
14
16
|
*** shutting down gRPC server since JVM is shutting down
|
|
15
17
|
*** server shut down
|