yuqi1129 opened a new issue, #13045: URL: https://github.com/apache/gravitino/issues/13045
### What would you like to be improved? `MiniGravitino` hardcodes the server it starts: ```java GravitinoServer.main(...) ``` That is the right default, but it makes embedded mode unusable for any distribution that ships its own server entry point and initializes extra components in its own `GravitinoEnv` subclass. Such a build can run its integration tests only in deploy mode, which needs a packaged distribution. The failure mode is quiet rather than loud, which is the part worth fixing. In embedded mode the extra components are simply absent, so the event listeners that depend on them get a null service and every event handler throws: ``` WARN DataDiscoveryListener - Failed to handle event RegisterJobTemplateEvent@201b3159 java.lang.NullPointerException: ... because "this.searchService" is null ``` Those exceptions are logged by the listener framework and swallowed. The suite keeps running, the projections are never written, and assertions that tolerate an empty result pass. A test can therefore report success in embedded mode while exercising nothing. ### How should we improve? Let `MiniGravitinoContext` carry the server entry point (or the `GravitinoEnv` to initialize), defaulting to `GravitinoServer` so nothing changes for existing callers. A downstream distribution can then run the same integration tests in both modes. Worth considering alongside it: `EventListenerPluginWrapper` currently logs and swallows every listener failure. A repeated failure from the same listener is closer to a broken deployment than to a recoverable event, so surfacing it, or failing the listener after a threshold, would make this class of problem visible instead of silent. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
