Skip to content

Commit bbd01d4

Browse files
lizozomlukasolsonkibanamachineDosant
authored
[Search] Session SO polling (#84225) (#85400)
* Monitor ids * import fix * solve circular dep * eslint * mock circular dep * max retries test * mock circular dep * test * jest <(-:C * jestttttt * [data.search] Move search method inside session service and add tests * merge * Move background session service to data_enhanced plugin * Better logs Save IDs only in monitoring loop * Fix types * Space aware session service * ts * Fix session service saving * merge fix * stable stringify * INMEM_MAX_SESSIONS * INMEM_MAX_SESSIONS * Update x-pack/plugins/data_enhanced/server/search/session/session_service.ts Co-authored-by: Anton Dosov <[email protected]> * Update x-pack/plugins/data_enhanced/server/search/session/session_service.ts Co-authored-by: Anton Dosov <[email protected]> * Use setTimeout to schedule monitoring steps * settimeout Co-authored-by: Lukas Olson <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Anton Dosov <[email protected]> Co-authored-by: Lukas Olson <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Anton Dosov <[email protected]>
1 parent 4e27e5c commit bbd01d4

File tree

10 files changed

+479
-25
lines changed

10 files changed

+479
-25
lines changed

src/core/server/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919

2020
import Chance from 'chance';
2121

22+
import { getUpgradeableConfigMock } from './get_upgradeable_config.test.mock';
2223
import { SavedObjectsErrorHelpers } from '../../saved_objects';
2324
import { savedObjectsClientMock } from '../../saved_objects/service/saved_objects_client.mock';
2425
import { loggingSystemMock } from '../../logging/logging_system.mock';
25-
import { getUpgradeableConfigMock } from './get_upgradeable_config.test.mock';
2626

2727
import { createOrUpgradeSavedConfig } from './create_or_upgrade_saved_config';
2828

src/plugins/data/server/search/search_service.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,15 @@ export class SearchService implements Plugin<ISearchSetup, ISearchStart> {
106106
private readonly searchSourceService = new SearchSourceService();
107107
private defaultSearchStrategyName: string = ES_SEARCH_STRATEGY;
108108
private searchStrategies: StrategyMap = {};
109+
private sessionService: ISessionService;
109110
private coreStart?: CoreStart;
110-
private sessionService: ISessionService = new SessionService();
111111

112112
constructor(
113113
private initializerContext: PluginInitializerContext<ConfigSchema>,
114114
private readonly logger: Logger
115-
) {}
115+
) {
116+
this.sessionService = new SessionService();
117+
}
116118

117119
public setup(
118120
core: CoreSetup<{}, DataPluginStart>,

x-pack/plugins/data_enhanced/server/plugin.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ interface SetupDependencies {
2828

2929
export class EnhancedDataServerPlugin implements Plugin<void, void, SetupDependencies> {
3030
private readonly logger: Logger;
31+
private sessionService!: BackgroundSessionService;
3132

3233
constructor(private initializerContext: PluginInitializerContext) {
3334
this.logger = initializerContext.logger.get('data_enhanced');
@@ -53,20 +54,26 @@ export class EnhancedDataServerPlugin implements Plugin<void, void, SetupDepende
5354
eqlSearchStrategyProvider(this.logger)
5455
);
5556

57+
this.sessionService = new BackgroundSessionService(this.logger);
58+
5659
deps.data.__enhance({
5760
search: {
5861
defaultStrategy: ENHANCED_ES_SEARCH_STRATEGY,
59-
sessionService: new BackgroundSessionService(),
62+
sessionService: this.sessionService,
6063
},
6164
});
6265

6366
const router = core.http.createRouter();
6467
registerSessionRoutes(router);
6568
}
6669

67-
public start(core: CoreStart) {}
70+
public start(core: CoreStart) {
71+
this.sessionService.start(core, this.initializerContext.config.create());
72+
}
6873

69-
public stop() {}
74+
public stop() {
75+
this.sessionService.stop();
76+
}
7077
}
7178

7279
export { EnhancedDataServerPlugin as Plugin };

x-pack/plugins/data_enhanced/server/saved_objects/background_session.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ export const backgroundSessionMapping: SavedObjectsType = {
1414
hidden: true,
1515
mappings: {
1616
properties: {
17+
sessionId: {
18+
type: 'keyword',
19+
},
1720
name: {
1821
type: 'keyword',
1922
},

0 commit comments

Comments
 (0)