Skip to content

ee.jakarta.tck.persistence.ee.pluggability.contracts.resource_local.ClientPuservletTest test failure when testing with WildFly #1834

Open
@scottmarlow

Description

@scottmarlow

The test is deployed before the system properties can be setup by the test and as part of the application deployment, the test classes include a persistence provider implementation that looks for system property log.file.location. Some PersistenceProvider containers may lazily deploy persistence providers on demand when the application actually tries to create a persistence context or persistence unit in which case that works around the failure. Some EE implementations may have hacked around this failure in their TCK porting kits in the past by setting the log.file.location property before app deployment time which is a valid workaround.

The call stack that we see during deployment that leads to this problem is:

getInstance:260, TSLogger (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
:249, TSLogger (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
callLogger:52, PersistenceProvider (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
:47, PersistenceProvider (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
:42, PersistenceProvider (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
newInstance0:-1, NativeConstructorAccessorImpl (jdk.internal.reflect)
newInstance:77, NativeConstructorAccessorImpl (jdk.internal.reflect)
newInstance:45, DelegatingConstructorAccessorImpl (jdk.internal.reflect)
newInstanceWithCaller:500, Constructor (java.lang.reflect)
newInstance:481, Constructor (java.lang.reflect)
deploy:58, PersistenceProviderHandler (org.jboss.as.jpa.processor)
deploy:32, PersistenceBeginInstallProcessor (org.jboss.as.jpa.processor)
start:165, DeploymentUnitPhaseService (org.jboss.as.server.deployment)
startService:1617, ServiceControllerImpl$StartTask (org.jboss.msc.service)
execute:1580, ServiceControllerImpl$StartTask (org.jboss.msc.service)
run:1438, ServiceControllerImpl$ControllerTask (org.jboss.msc.service)
run:35, ContextClassLoaderSavingRunnable (org.jboss.threads)
safeRun:1990, EnhancedQueueExecutor (org.jboss.threads)
doRunTask:1486, EnhancedQueueExecutor$ThreadBody (org.jboss.threads)
run:1377, EnhancedQueueExecutor$ThreadBody (org.jboss.threads)
run:840, Thread (java.lang)

And the reaction is to reach

which is not using Jakarta EE technologies to obtain a file based logger and leads to the test failure because the persistence provider does not log to the expected that is specified in ts.jte properties log.file.location setting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions