Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-16650

Concurrent workspaces shouldn't use '@' in the names as it can cause FileNotFoundExceptions

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • core
    • None
    • Running v1.495 with 3 slaves

      We have configured a job to run tests against our various environments. This job is enabled to run builds in parallel if needed.

      When we do run builds from this job in parallel, some of the tests fail with exceptions like the one below:

      {{com.test.WebClientException: Failed trying to upload file '1360084126523_missingCols1.csv' for datasource 'M-0000019b-0000-0005-0000-0000000014a6'
      at com.test.WebClient.uploadFileGetJson(WebClient.java:269)
      at com.test.dataimport.ImportTestUtil.loadAndImport(ImportTestUtil.java:198)
      at com.test.dataimport.ImportIncrementalTest.importIncrementalTestNeg_INCMH10(ImportIncrementalTest.java:208)
      Caused by: java.io.FileNotFoundException: /jenkins/workspace/QE_All_Tests%402/target/test-classes/datasets/dataimport/incremental/INCMH10/missingCols1.csv (No such file or directory)
      at java.io.FileInputStream.open(Native Method)
      at java.io.FileInputStream.<init>(FileInputStream.java:106)
      at org.apache.http.entity.mime.content.FileBody.writeTo(FileBody.java:100)
      at org.apache.http.entity.mime.HttpMultipart.doWriteTo(HttpMultipart.java:206)
      at org.apache.http.entity.mime.HttpMultipart.writeTo(HttpMultipart.java:224)
      at org.apache.http.entity.mime.MultipartEntity.writeTo(MultipartEntity.java:183)
      at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:96)
      at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:108)
      at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:120)
      at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:264)
      at org.apache.http.impl.conn.AbstractClientConnAdapter.sendRequestEntity(AbstractClientConnAdapter.java:224)
      at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:255)
      at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
      at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:647)
      at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
      at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
      at com.test.WebClient.uploadFileGetJson(WebClient.java:265)
      ... 36 more}}

      The main issue here is:

      java.io.FileNotFoundException: /jenkins/workspace/QE_All_Tests%402/target/test-classes/datasets/dataimport/incremental/INCMH10/missingCols1.csv (No such file or directory)

      This happens because the test expects the file to be present at /jenkins/workspace/QE_All_Tests%402/ where as it's actually present at /jenkins/workspace/QE_All_Tests@2/

      Jenkins should consider using some character other than '@' (e.g. '_') when creating workspaces for concurrent builds.

            Unassigned Unassigned
            nullin Nalin Makar
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: