1
0
Fork 0

cleanup artifact handlers hanging node process

pull/1596/head
Rob Herley 2023-12-06 23:42:07 +00:00 committed by GitHub
parent 207747e7af
commit 715b1acc05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 11 deletions

View File

@ -59,10 +59,10 @@ class ArtifactHttpClient implements Rpc {
'Content-Type': contentType 'Content-Type': contentType
} }
try { try {
const response = await this.retryableRequest(async () => const {body} = await this.retryableRequest(async () =>
this.httpClient.post(url, JSON.stringify(data), headers) this.httpClient.post(url, JSON.stringify(data), headers)
) )
const body = await response.readBody()
return JSON.parse(body) return JSON.parse(body)
} catch (error) { } catch (error) {
throw new Error(`Failed to ${method}: ${error.message}`) throw new Error(`Failed to ${method}: ${error.message}`)
@ -71,7 +71,7 @@ class ArtifactHttpClient implements Rpc {
async retryableRequest( async retryableRequest(
operation: () => Promise<HttpClientResponse> operation: () => Promise<HttpClientResponse>
): Promise<HttpClientResponse> { ): Promise<{response: HttpClientResponse, body: string}> {
let attempt = 0 let attempt = 0
let errorMessage = '' let errorMessage = ''
while (attempt < this.maxAttempts) { while (attempt < this.maxAttempts) {
@ -80,11 +80,14 @@ class ArtifactHttpClient implements Rpc {
try { try {
const response = await operation() const response = await operation()
const statusCode = response.message.statusCode const statusCode = response.message.statusCode
debug(`[Response] ${response.message.statusCode}`) const raw = await response.readBody()
debug(JSON.stringify(response.message.headers, null, 2)) const body = JSON.parse(raw)
debug(`[Response] - ${response.message.statusCode}`)
debug(`Headers: ${JSON.stringify(response.message.headers, null, 2)}`)
debug(`Body: ${JSON.stringify(body, null, 2)}`)
if (this.isSuccessStatusCode(statusCode)) { if (this.isSuccessStatusCode(statusCode)) {
return response return {response, body}
} }
isRetryable = this.isRetryableHttpStatusCode(statusCode) isRetryable = this.isRetryableHttpStatusCode(statusCode)

View File

@ -40,11 +40,6 @@ export async function uploadArtifact(
) )
} }
const zipUploadStream = await createZipUploadStream(
zipSpecification,
options?.compressionLevel
)
// get the IDs needed for the artifact creation // get the IDs needed for the artifact creation
const backendIds = getBackendIdsFromToken() const backendIds = getBackendIdsFromToken()
@ -73,6 +68,11 @@ export async function uploadArtifact(
) )
} }
const zipUploadStream = await createZipUploadStream(
zipSpecification,
options?.compressionLevel
)
// Upload zip to blob storage // Upload zip to blob storage
const uploadResult = await uploadZipToBlobStorage( const uploadResult = await uploadZipToBlobStorage(
createArtifactResp.signedUploadUrl, createArtifactResp.signedUploadUrl,