@@ -86,7 +86,7 @@ import {
8686 extLogger ,
8787 languageServerLogger ,
8888 queryServerLogger ,
89- queryServerForWarmingOverlayBaseCacheLogger ,
89+ getQueryServerForWarmingOverlayBaseCacheLogger ,
9090} from "./common/logging/vscode" ;
9191import { QueryHistoryManager } from "./query-history/query-history-manager" ;
9292import type { CompletedLocalQueryInfo } from "./query-results" ;
@@ -173,7 +173,7 @@ function getCommands(
173173 app : App ,
174174 cliServer : CodeQLCliServer ,
175175 queryRunner : QueryRunner ,
176- queryRunnerForWarmingOverlayBaseCache : QueryRunner ,
176+ queryRunnerForWarmingOverlayBaseCache : QueryRunner | undefined ,
177177 languageClient : LanguageClient ,
178178) : BaseCommands {
179179 const getCliVersion = async ( ) => {
@@ -191,7 +191,9 @@ function getCommands(
191191 cliServer . restartCliServer ( ) ;
192192 await Promise . all ( [
193193 queryRunner . restartQueryServer ( progress ) ,
194- queryRunnerForWarmingOverlayBaseCache . restartQueryServer ( progress ) ,
194+ queryRunnerForWarmingOverlayBaseCache
195+ ? queryRunnerForWarmingOverlayBaseCache . restartQueryServer ( progress )
196+ : { } ,
195197 async ( ) => {
196198 if ( languageClient . isRunning ( ) ) {
197199 await languageClient . restart ( ) ;
@@ -204,10 +206,12 @@ function getCommands(
204206 queryServerLogger ,
205207 "CodeQL Query Server restarted." ,
206208 ) ;
207- void showAndLogErrorMessage (
208- queryServerForWarmingOverlayBaseCacheLogger ,
209- "CodeQL Query Server for warming overlay-base cache restarted." ,
210- ) ;
209+ if ( queryRunnerForWarmingOverlayBaseCache ) {
210+ void showAndLogErrorMessage (
211+ getQueryServerForWarmingOverlayBaseCacheLogger ( ) ,
212+ "CodeQL Query Server for warming overlay-base cache restarted." ,
213+ ) ;
214+ }
211215 } ,
212216 {
213217 title : "Restarting Query Server" ,
@@ -288,7 +292,7 @@ export interface CodeQLExtensionInterface {
288292 readonly ctx : ExtensionContext ;
289293 readonly cliServer : CodeQLCliServer ;
290294 readonly qs : QueryRunner ;
291- readonly qsForWarmingOverlayBaseCache : QueryRunner ;
295+ readonly qsForWarmingOverlayBaseCache : QueryRunner | undefined ;
292296 readonly distributionManager : DistributionManager ;
293297 readonly databaseManager : DatabaseManager ;
294298 readonly databaseUI : DatabaseUI ;
@@ -806,14 +810,24 @@ async function activateWithInstalledDistribution(
806810 false ,
807811 ) ;
808812
809- void extLogger . log ( "Initializing base cache warming query server client." ) ;
810- const qsForWarmingOverlayBaseCache = await createQueryServer (
811- app ,
812- qlConfigurationListener ,
813- cliServer ,
814- ctx ,
815- true ,
816- ) ;
813+ let qsForWarmingOverlayBaseCache : QueryRunner | undefined ;
814+
815+ // construct qsForWarmingOverlayBaseCache lazily, as most users don't need it
816+ async function getQsForWarmingOverlayBaseCache ( ) : Promise < QueryRunner > {
817+ if ( ! qsForWarmingOverlayBaseCache ) {
818+ void extLogger . log (
819+ "Initializing base cache warming query server client." ,
820+ ) ;
821+ qsForWarmingOverlayBaseCache = await createQueryServer (
822+ app ,
823+ qlConfigurationListener ,
824+ cliServer ,
825+ ctx ,
826+ true ,
827+ ) ;
828+ }
829+ return qsForWarmingOverlayBaseCache ;
830+ }
817831
818832 for ( const glob of CLEAR_PACK_CACHE_ON_EDIT_GLOBS ) {
819833 const fsWatcher = workspace . createFileSystemWatcher ( glob ) ;
@@ -840,7 +854,6 @@ async function activateWithInstalledDistribution(
840854 ctx ,
841855 app ,
842856 qs ,
843- qsForWarmingOverlayBaseCache ,
844857 cliServer ,
845858 languageContext ,
846859 extLogger ,
@@ -1017,7 +1030,7 @@ async function activateWithInstalledDistribution(
10171030 const localQueries = new LocalQueries (
10181031 app ,
10191032 qs ,
1020- qsForWarmingOverlayBaseCache ,
1033+ getQsForWarmingOverlayBaseCache ,
10211034 qhm ,
10221035 dbm ,
10231036 databaseFetcher ,
@@ -1309,7 +1322,7 @@ async function createQueryServer(
13091322) : Promise < QueryRunner > {
13101323 const qsOpts = {
13111324 logger : warmOverlayBaseCache
1312- ? queryServerForWarmingOverlayBaseCacheLogger
1325+ ? getQueryServerForWarmingOverlayBaseCacheLogger ( )
13131326 : queryServerLogger ,
13141327 contextStoragePath : getContextStoragePath ( ctx ) ,
13151328 } ;
0 commit comments