Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agents load classes from master classpath before checking local classpath #74

Open
willr3 opened this issue Oct 17, 2014 · 2 comments
Open

Comments

@willr3
Copy link
Contributor

willr3 commented Oct 17, 2014

We have a Faban environment with a master and 2 agents.
The master FABAN_HOME is ~/code/project/faban/ and FABAN_HOME on the agents is ~/faban/.
Agents load classes from jars in ~/code/project/faban if we clone our repo on the agent machine into the same path as we use on the master. This causes errors when we update faban on the master and the generated serialVersionUIDs for several classes change. The agents have the correct jars in ~/faban/ but the agent process loads the incorrect jars from the out of date local clone in ~/code/project/faban/.
The error manifests as a java.io.InvalidClassException.
java.io.InvalidClassException: com.sun.faban.driver.engine.Cycle; local class incompatible: stream classdesc serialVersionUID = 8468129937951066621, local class serialVersionUID = -3369812715063961192

@shanti
Copy link
Collaborator

shanti commented Oct 23, 2014

It is a requirement that FABAN_HOME on all machines be the same. Is it
possible for you to change the FABAN_HOME or at least create a symbolic
link?

On Fri, Oct 17, 2014 at 6:27 AM, willr3 [email protected] wrote:

We have a Faban environment with a master and 2 agents.
The master FABAN_HOME is ~/code/project/faban/ and FABAN_HOME on the
agents is ~/faban/.
Agents load classes from jars in ~/code/project/faban if we clone our repo
on the agent machine into the same path as we use on the master. This
causes errors when we update faban on the master and the generated
serialVersionUIDs for several classes change. The agents have the correct
jars in ~/faban/ but the agent process loads the incorrect jars from the
out of date local clone in ~/code/project/faban/.
The error manifests as a java.io.InvalidClassException.
java.io.InvalidClassException: com.sun.faban.driver.engine.Cycle; local
class incompatible: stream classdesc serialVersionUID =
8468129937951066621, local class serialVersionUID = -3369812715063961192


Reply to this email directly or view it on GitHub
#74.

@willr3
Copy link
Contributor Author

willr3 commented Oct 27, 2014

I know ran into the assumption about FABAN_HOME once before when fixing the CmdAgentImpl (google-groups link)[https://groups.google.com/forum/#!topic/faban-users/rC9ZEtqyevY]. The documentation does mention that it is preferred to have the same FABAN_HOME across the master and agent but that would unfortunately lead to a much more complicated test environment. I resolved the issue in our performance lab to continue with performance testing but I will evaluate a potential fix for the classpath crossover when I get another pair of machines to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants