It's all about the answers!

Ask a question

RTC : checkout failure: Unable to serialize

Raj Kumar (21115) | asked May 14 '19, 2:42 a.m.

below code is failing with error :
RTC : checkout failure: Unable to serialize
      Unable to serialize
(check the joined file for the complete error)

public class LRService extends RtcExtensionProvider{

 private Run<?, ?> currentBuild = null;

  public String getPathToLoadRuleFile(String workspaceUUID, String workspaceName, String buildResultUUID,
      Map<String, String> componentInfo, String repoURL, String userId, String password, PrintStream logger)
      throws IOException {

 Map<String, String> envVarsMap = currentBuild.getEnvVars();

String ServiceUrl = repoURL+........+getExcludeFilterValueFromCurrentBuiltObject; // get the string parameter value from Jenkins UI

  public boolean isApplicable(Run<?, ?> build) {
    this.currentBuild = build;
    return true;

I got to know the above code is not thread safe.As for storing any instance variables,  only one extension object exists, multiple threads could end up overwriting the instance variable values.

But my Question is how to handle this with above code. I want t access build objects values inside getPathToLoadRuleFile{} extension method 

One answer

permanent link
Sridevi Sangaiah (59179) | answered May 31 '19, 4:00 a.m.

Like it is being discussed in

478059: RTC bug : Two separated Jenkins pipeline jobs use same directory to generate loadrule files., if your dynamic load rules implementation requires additional information, which can't be stored in a ThreadLocal variable, then it might have to be passed from the TeamConcert plugin. I am not sure if instances of Run can be passed as is from Master to Slave, though. Need to check if it implements

Your answer

Register or to post your answer.