Skip to content

Commit cd1aaef

Browse files
ASalaveiigordmn
andauthored
[Cherry-pick] Increase Maven Upload socket timeout (#5486) (#5487)
(cherry picked from commit 37f161f) Attempt to fix: ``` Caused by: java.net.SocketTimeoutException: Socket timeout has expired [url=https://public.jetbrains.space/api/http/projects/.../packages/repositories/.../packages/name:org.jetbrains.skiko%2Fskiko-jvm-runtime-linux_x64/versions/version:1.4.0-rc01?%24fields=%2A, socket_timeout=unknown] ms at io.ktor.client.network.sockets.TimeoutExceptionsKt.SocketTimeoutException(TimeoutExceptions.kt:30) at io.ktor.client.plugins.HttpTimeoutKt.SocketTimeoutException(HttpTimeout.kt:272) at io.ktor.client.engine.okhttp.OkUtilsKt.mapOkHttpException(OkUtils.kt:82) at io.ktor.client.engine.okhttp.OkUtilsKt.access$mapOkHttpException(OkUtils.kt:1) at io.ktor.client.engine.okhttp.OkHttpCallback.onFailure(OkUtils.kt:42) at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:525) at COROUTINE_STACKTRACE_PRESERVATION_BOUNDARY.rethrow(Unknown Source) at space.jetbrains.api.runtime.stacktrace.RequestStacktraceKt.withPreservedStacktrace(RequestStacktrace.kt:13) at space.jetbrains.api.runtime.SpaceHttpClientKt.callSpaceApi(SpaceHttpClient.kt:128) at space.jetbrains.api.runtime.SpaceHttpClientKt.callSpaceApi$default(SpaceHttpClient.kt:80) at space.jetbrains.api.runtime.RestResource.callWithParameters(RestResource.kt:57) at space.jetbrains.api.runtime.RestResource.callWithParameters$default(RestResource.kt:50) at space.jetbrains.api.runtime.resources.projects.packages.repositories.packages.Versions.getPackageVersionDetails(Versions.kt:172) at space.jetbrains.api.runtime.resources.projects.packages.repositories.packages.Versions.getPackageVersionDetails$default(Versions.kt:162) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient$forEachPackageWithVersion$1$1.invokeSuspend(SpaceApiClient.kt:37) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient$forEachPackageWithVersion$1$1.invoke(SpaceApiClient.kt) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient$forEachPackageWithVersion$1$1.invoke(SpaceApiClient.kt) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient.forAllInAllBatches(SpaceApiClient.kt:76) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient.access$forAllInAllBatches(SpaceApiClient.kt:15) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient$forAllInAllBatches$1.invokeSuspend(SpaceApiClient.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient.withSpaceClient(SpaceApiClient.kt:52) at org.jetbrains.compose.internal.publishing.utils.SpaceApiClient.forEachPackageWithVersion(SpaceApiClient.kt:34) at org.jetbrains.compose.internal.publishing.FindModulesInSpaceTask.run(FindModulesInSpaceTask.kt:57) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) ... 117 more ``` happened 3 times in a row at [19-11-2025](https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_AllPublicRelease/5677823) The default socket timeout is 10 seconds ([OkHttpEngine](https://github.com/ktorio/ktor/blob/c68f4ee0d5c37ed516498d705562528ee4c33be5/ktor-client/ktor-client-okhttp/jvm/src/io/ktor/client/engine/okhttp/OkHttpEngine.kt#L244 ), [OkHttpClient](https://github.com/square/okhttp/blob/5b23df713244f82f76cb05e8164d6320b6dc1379/okhttp/src/commonJvmAndroid/kotlin/okhttp3/OkHttpClient.kt#L1172)) Also replace deprecated calls by the suggested calls ## Testing 1. create a Space client key 2. set env. vars: COMPOSE_REPO_USERNAME, COMPOSE_DEV_REPO_PROJECT_ID, COMPOSE_REPO_KEY, COMPOSE_DEV_REPO_REPO_ID 3. run ``` ./gradlew -p=cli findComposeModules --info --stacktrace "-Pmaven.central.coordinates=org.jetbrains.androidx.lifecycle:*:2.10.0-alpha05,org.jetbrains.androidx.navigation3:*:1.0.0-alpha05,org.jetbrains.androidx.navigationevent:*:1.0.0-beta02,org.jetbrains.androidx.savedstate:*:1.4.0-rc01,org.jetbrains.androidx.window:*:1.5.0" "-Pmaven.central.deployName=CMP 1.10.0-beta02 (org.jetbrains.androidx)" --rerun-tasks ``` ## Release Notes N/A Co-authored-by: Igor Demin <[email protected]>
1 parent 41d24e6 commit cd1aaef

File tree

1 file changed

+17
-8
lines changed
  • ci/build-helpers/publishing/src/main/kotlin/org/jetbrains/compose/internal/publishing/utils

1 file changed

+17
-8
lines changed

ci/build-helpers/publishing/src/main/kotlin/org/jetbrains/compose/internal/publishing/utils/SpaceApiClient.kt

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@ package org.jetbrains.compose.internal.publishing.utils
77

88
import io.ktor.client.*
99
import io.ktor.client.engine.okhttp.*
10+
import io.ktor.client.plugins.*
1011
import kotlinx.coroutines.runBlocking
1112
import space.jetbrains.api.runtime.*
13+
import space.jetbrains.api.runtime.SpaceAuth.ClientCredentials
1214
import space.jetbrains.api.runtime.resources.projects
13-
import space.jetbrains.api.runtime.types.*
15+
import space.jetbrains.api.runtime.types.PackageData
16+
import space.jetbrains.api.runtime.types.PackageRepositoryIdentifier
17+
import space.jetbrains.api.runtime.types.ProjectIdentifier
1418

1519
internal class SpaceApiClient(
1620
private val serverUrl: String,
@@ -48,13 +52,18 @@ internal class SpaceApiClient(
4852
}
4953
}
5054

51-
private fun withSpaceClient(fn: suspend SpaceHttpClientWithCallContext.() -> Unit) {
55+
private fun withSpaceClient(fn: suspend SpaceClient.() -> Unit) {
5256
runBlocking {
53-
HttpClient(OkHttp).use { client ->
54-
val space = SpaceHttpClient(client).withServiceAccountTokenSource(
55-
serverUrl = serverUrl,
56-
clientId = clientId,
57-
clientSecret = clientSecret
57+
HttpClient(OkHttp) {
58+
configureKtorClientForSpace()
59+
install(HttpTimeout) {
60+
socketTimeoutMillis = 120_000
61+
}
62+
}.use { client ->
63+
val space = SpaceClient(
64+
ktorClient = client,
65+
appInstance = SpaceAppInstance(clientId, clientSecret, serverUrl),
66+
auth = ClientCredentials(PermissionScope.fromString("**"))
5867
)
5968
space.fn()
6069
}
@@ -80,7 +89,7 @@ internal class SpaceApiClient(
8089
}
8190
}
8291

83-
private suspend fun SpaceHttpClientWithCallContext.forEachPackage(
92+
private suspend fun SpaceClient.forEachPackage(
8493
projectId: ProjectIdentifier,
8594
repoId: PackageRepositoryIdentifier,
8695
fn: suspend (PackageData) -> Unit

0 commit comments

Comments
 (0)