diff --git a/.changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json b/.changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json new file mode 100644 index 00000000000..f537fa0c825 --- /dev/null +++ b/.changes/next-release/bugfix-f31946b6-3709-44a5-b23f-9fa202bd5cb5.json @@ -0,0 +1,4 @@ +{ + "type" : "bugfix", + "description" : "Fix infinite loop when workspace indexing server fails to initialize" +} \ No newline at end of file diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt index 77163a694ac..75ab0df4f46 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/ProjectContextProvider.kt @@ -116,10 +116,14 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En logger.info { "project context index starting" } delay(300) val isIndexSuccess = index() - if (isIndexSuccess) isIndexComplete.set(true) + if (isIndexSuccess) { + isIndexComplete.set(true) + } return } + retryCount.incrementAndGet() } catch (e: Exception) { + logger.warn(e) { "failed to init project context" } if (e.stackTraceToString().contains("Connection refused")) { retryCount.incrementAndGet() delay(10000) @@ -133,6 +137,7 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En private suspend fun initEncryption(): Boolean { val request = encoderServer.getEncryptionRequest() val response = sendMsgToLsp(LspMessage.Initialize, request) + logger.info { "received response to init encryption: $response" } return response?.responseCode == 200 }