[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [dali-dev] Re: testing deadlock
|
I tested out Karen's changes, and it all works for me. I haven't seen a
clean test run (on *my* machine) in months, and it only takes 20 minutes
to run the entire suite right now.
Since the new mechanism for creating XML files uses a Workspace runnable
(with event suppression), this might be what removed the need for the Job.
Paul Fullbright
Oracle Corp.
Eclipse Dali/Java Persistence Tools Development
paul.fullbright@xxxxxxxxxx
Karen Moore wrote:
I am contemplating a solution which would remove the Job used to
create the persistence.xml and orm.xml during new JPA project
creation. This was done about a year ago to prevent deadlocks in
creating a JPA project via the JPA project wizard. In
GenericJpaModel.jpaFacetedProjectPostInstall() there is a comment
explaining why this change was made. Given that we have replaced our
ArtifactEdit use with ModelProviders I am now thinking we might not
need the Job anymore. I have removed it in my own workspace and
tested JPA project creation and have not hit a deadlock yet. I can
now run JptAllCoreTests without any problems, they all pass.
I think it is worth trying this as a possible solution. It makes
testing and headless JPA project modification more reliable since you
know the persistence.xml and orm.xml will be created when you ask for
a JpaProject. If there are no objections I will check this change in
to head and we can all try it out and see what happens. It will not
be in the 2.1M2 build, but will make it into a build early next week.
thanks,
Karen
Karen Moore wrote:
A little more information, if I don't get a deadlock running the
tests then I will instead get this exception. I'm wondering if maybe
the peristence.xml is not getting created quickly enough and another
test has already been started before it's been created. The
persistence.xml and orm.xml files are created in a separate Job.
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException:
org.eclipse.core.internal.resources.ResourceException: Resource
'/ContextModelTestProject/src/META-INF/persistence.xml' is not local.
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:315)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
at
org.eclipse.jem.internal.util.emf.workbench.ProjectResourceSetImpl.getResource(ProjectResourceSetImpl.java:343)
at
org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper.getOrCreateResource(WorkbenchResourceHelper.java:384)
at
org.eclipse.jpt.core.resource.AbstractResourceModelProvider.getResource(AbstractResourceModelProvider.java:99)
at
org.eclipse.jpt.core.internal.resource.persistence.PersistenceResourceModelProvider.getResource(PersistenceResourceModelProvider.java:73)
at
org.eclipse.jpt.core.internal.context.GenericRootContextNode.<init>(GenericRootContextNode.java:65)
at
org.eclipse.jpt.core.internal.platform.GenericJpaFactory.buildRootContext(GenericJpaFactory.java:280)
at
org.eclipse.jpt.core.internal.GenericJpaProject.buildRootContextNode(GenericJpaProject.java:201)
at
org.eclipse.jpt.core.internal.GenericJpaProject.<init>(GenericJpaProject.java:163)
at
org.eclipse.jpt.core.internal.platform.GenericJpaFactory.buildJpaProject(GenericJpaFactory.java:233)
at
org.eclipse.jpt.core.internal.GenericJpaModel$DefaultJpaProjectHolder.buildJpaProject(GenericJpaModel.java:445)
at
org.eclipse.jpt.core.internal.GenericJpaModel$DefaultJpaProjectHolder.jpaProject(GenericJpaModel.java:437)
at
org.eclipse.jpt.core.internal.GenericJpaModel.getJpaProject(GenericJpaModel.java:81)
at
org.eclipse.jpt.core.internal.JpaModelManager.getJpaProject(JpaModelManager.java:178)
at
org.eclipse.jpt.core.JptCorePlugin.getJpaProject(JptCorePlugin.java:157)
at
org.eclipse.jpt.core.tests.internal.projects.TestJpaProject.<init>(TestJpaProject.java:58)
at
org.eclipse.jpt.core.tests.internal.projects.TestJpaProject.buildJpaProject(TestJpaProject.java:35)
at
org.eclipse.jpt.core.tests.internal.context.ContextModelTestCase.buildJpaProject(ContextModelTestCase.java:78)
Karen Moore wrote:
Ignore the last thread dump, attaching it again since I was picking
the wrong java process :( This trace actually has our code in it,
just a bit more helpful
Karen
Karen Moore wrote:
So, I'm getting deadlocks most of the time when I run the
JptCoreContextModelTests. I have attached the thread dump from
when it happens. Is anyone else seeing this issue after checking
out Paul's model provider changes? I know Paul isn't getting the
deadlocks, but curious if it is only me and if anyone has clues on
how we can solve it.
Karen
_______________________________________________
dali-dev mailing list
dali-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dali-dev
_______________________________________________
dali-dev mailing list
dali-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dali-dev