glassfish
  1. glassfish
  2. GLASSFISH-15720

[regression] jpa failure in trimHavingClause on Microsoft SQL server

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1
    • Fix Version/s: 3.1_b41
    • Component/s: entity-persistence
    • Labels:
      None
    • Environment:

      solaris and linux

      Description

      glassfisg-3.1-b39.zip
      jpa failure in trimHavingClause on Microsoft SQL server

      • EJB3-EJBQL-EAR-J2DB-test_trimHavingClause_01: FAIL -
        The test passed on Derby with the same build.

      To reproduce the failure:
      set env with referece of
      http://agni-1.us.oracle.com/JSPWiki/Wiki.jsp?page=V31CoreInstruction
      in appserver-sqe, do
      ant microsoftdd-setup
      in appserver-sqe/pe/ejb/ejb30/ejbql, do
      ant -f buildJava2DB.xml microsoftdd all

        Activity

        Hide
        sherryshen added a comment -

        public boolean test_trimHavingClause_01() {

        /* Test for TRIM BOTH characters(blanks) in the Having Clause
        */

        boolean pass=false;
        Object result = null;
        String expected = " David R. Vincent ";

        try {

        result = manager.createQuery(
        "select c.name FROM Customer c group by c.name HAVING trim(BOTH from c.name) = 'David R. Vincent'")
        .getSingleResult();

        The same test passed in v3.0. The query in fine log shows the difference in trim.

        v3.1:
        SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?)
        bind => [1 parameter bound]

        v3.0:
        SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (RTRIM(LTRIM(NAME)) = ?)
        bind => [David R. Vincent]|#]

        v3.1 b39
        EclipseLink, version: Eclipse Persistence Services - 2.2.0.v20110114-r8831|#]
        User: dbo
        Database: Microsoft SQL Server Version: Microsoft SQL Server 2008 R2 - 10.50.1600.1
        Driver: SQLServer Version: 4.2.0.026220 (F044226.U015810)|#]

        [#|2011-01-27T14:48:39.619-0800|FINE|glassfish3.1|org.eclipse.persistence.session.file:/space/test1/v3/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em.sql|_ThreadID=20;_ThreadName=Thread-1;ClassName=null;MethodName=null;|
        SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?)
        bind => [1 parameter bound]|#]

        [#|2011-01-27T14:48:39.726-0800|FINE|glassfish3.1|org.eclipse.persistence.session.file:/space/test1/v3/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em.sql|_ThreadID=20;_ThreadName=Thread-1;ClassName=null;MethodName=null;|SELECT 1|#]

        [#|2011-01-27T14:48:39.936-0800|WARNING|glassfish3.1|org.eclipse.persistence.session.file:/space/test1/v3/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em|_ThreadID=20;_ThreadName=Thread-1;|
        Local Exception Stack:
        Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.2.0.v20110114-r8831): org.eclipse.persistence.exceptions.DatabaseException
        Internal Exception: java.sql.SQLException: [DataDirect][SQLServer JDBC Driver][SQLServer]'TRIM' is not a recognized built-in function name.
        Error Code: 195
        Call: SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?)
        bind => [1 parameter bound]
        Query: ReportQuery(referenceClass=Customer sql="SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?)")
        at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:684)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:526)
        at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1729)
        at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566)
        at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
        at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
        at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
        at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:647)
        at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2558)
        at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2501)
        at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:841)
        at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:808)
        at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040)
        at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:383)
        at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1126)
        at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2842)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1521)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1503)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1477)
        at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:484)
        at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:772)
        at pe.ejb.ejb30.ejbql.session.TestSessionBean.test_trimHavingClause_01(TestSessionBean.java:3361)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
        at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4155)
        at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5347)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5327)
        at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:206)
        at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
        at $Proxy183.test_trimHavingClause_01(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144)
        at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174)
        at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528)
        at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)
        at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)
        at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
        Caused by: java.sql.SQLException: [DataDirect][SQLServer JDBC Driver][SQLServer]'TRIM' is not a recognized built-in function name.
        at com.ddtek.jdbc.sqlserverbase.ddb7.b(Unknown Source)

        v3.0 b74b

        EclipseLink, version: Eclipse Persistence Services - 2.0.0.v20091127-r5931|#]

        User: dbo
        Database: Microsoft SQL Server Version: Microsoft SQL Server 2008 R2 - 10.50.1600.1
        Driver: SQLServer Version: 4.2.0.026220 (F044226.U015810)|#]

        [#|2011-01-27T14:15:35.198-0800|FINE|glassfishv3.0|org.eclipse.persistence.session.file:/space/test1/v30b74b/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em.sql|_ThreadID=26;_ThreadName=Thread-1;ClassName=null;MethodName=null;|
        SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (RTRIM(LTRIM(NAME)) = ?)
        bind => [David R. Vincent]|#]

        Show
        sherryshen added a comment - public boolean test_trimHavingClause_01() { /* Test for TRIM BOTH characters(blanks) in the Having Clause */ boolean pass=false; Object result = null; String expected = " David R. Vincent "; try { result = manager.createQuery( "select c.name FROM Customer c group by c.name HAVING trim(BOTH from c.name) = 'David R. Vincent'") .getSingleResult(); The same test passed in v3.0. The query in fine log shows the difference in trim. v3.1: SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?) bind => [1 parameter bound] v3.0: SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (RTRIM(LTRIM(NAME)) = ?) bind => [David R. Vincent] |#] v3.1 b39 EclipseLink, version: Eclipse Persistence Services - 2.2.0.v20110114-r8831|#] User: dbo Database: Microsoft SQL Server Version: Microsoft SQL Server 2008 R2 - 10.50.1600.1 Driver: SQLServer Version: 4.2.0.026220 (F044226.U015810)|#] [#|2011-01-27T14:48:39.619-0800|FINE|glassfish3.1|org.eclipse.persistence.session. file:/space/test1/v3/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em.sql |_ThreadID=20;_ThreadName=Thread-1;ClassName=null;MethodName=null;| SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?) bind => [1 parameter bound] |#] [#|2011-01-27T14:48:39.726-0800|FINE|glassfish3.1|org.eclipse.persistence.session.file:/space/test1/v3/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em.sql|_ThreadID=20;_ThreadName=Thread-1;ClassName=null;MethodName=null;|SELECT 1|#] [#|2011-01-27T14:48:39.936-0800|WARNING|glassfish3.1|org.eclipse.persistence.session. file:/space/test1/v3/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em |_ThreadID=20;_ThreadName=Thread-1;| Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.2.0.v20110114-r8831): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: [DataDirect] [SQLServer JDBC Driver] [SQLServer] 'TRIM' is not a recognized built-in function name. Error Code: 195 Call: SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?) bind => [1 parameter bound] Query: ReportQuery(referenceClass=Customer sql="SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (TRIM(NAME) = ?)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:684) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:526) at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1729) at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264) at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:647) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2558) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2501) at org.eclipse.persistence.queries.ReportQuery.executeDatabaseQuery(ReportQuery.java:841) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:808) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040) at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:383) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1126) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2842) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1521) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1503) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1477) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:484) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:772) at pe.ejb.ejb30.ejbql.session.TestSessionBean.test_trimHavingClause_01(TestSessionBean.java:3361) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4155) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5347) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5327) at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:206) at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79) at $Proxy183.test_trimHavingClause_01(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:144) at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:174) at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:528) at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:199) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990) at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539) at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540) Caused by: java.sql.SQLException: [DataDirect] [SQLServer JDBC Driver] [SQLServer] 'TRIM' is not a recognized built-in function name. at com.ddtek.jdbc.sqlserverbase.ddb7.b(Unknown Source) v3.0 b74b EclipseLink, version: Eclipse Persistence Services - 2.0.0.v20091127-r5931|#] User: dbo Database: Microsoft SQL Server Version: Microsoft SQL Server 2008 R2 - 10.50.1600.1 Driver: SQLServer Version: 4.2.0.026220 (F044226.U015810)|#] [#|2011-01-27T14:15:35.198-0800|FINE|glassfishv3.0|org.eclipse.persistence.session. file:/space/test1/v30b74b/glassfish/domains/domain1/applications/ejb30-ejbqlApp/lib/ejb30-ejbql-par.jar_em.sql |_ThreadID=26;_ThreadName=Thread-1;ClassName=null;MethodName=null;| SELECT NAME FROM CUSTOMER_TABLE GROUP BY NAME HAVING (RTRIM(LTRIM(NAME)) = ?) bind => [David R. Vincent] |#]
        Hide
        sherryshen added a comment -

        Thank Mitesh for following up this issue at EclipseLink.

        https://bugs.eclipse.org/bugs/show_bug.cgi?id=335707
        Mitesh Meswani 2011-01-28 12:20:03 EST
        SQL Server does not offer TRIM. EclipseLink had a work around in place to use
        RTRIM(LTRIM() ) instead. A change in
        https://fisheye2.atlassian.com/changelog/eclipselink/?cs=6761 has removed the
        work around. This results in JPQL TRIM() not working against SQL Server

        Show
        sherryshen added a comment - Thank Mitesh for following up this issue at EclipseLink. https://bugs.eclipse.org/bugs/show_bug.cgi?id=335707 Mitesh Meswani 2011-01-28 12:20:03 EST SQL Server does not offer TRIM. EclipseLink had a work around in place to use RTRIM(LTRIM() ) instead. A change in https://fisheye2.atlassian.com/changelog/eclipselink/?cs=6761 has removed the work around. This results in JPQL TRIM() not working against SQL Server
        Hide
        Nazrul added a comment -

        This requires a fix from EclipseLink

        Show
        Nazrul added a comment - This requires a fix from EclipseLink
        Hide
        Mitesh Meswani added a comment -

        How bad is its impact? (Severity)
        Identify why the fix needs to occur now:

        • Is a regression of functionality or performance available in a prior release
        • The basic functionality of JPQL TRIM() will not work against SQL server and any other databases that does not directly support TRIM()

        How often does it happen? (Frequency)

        • Always against SQL Server

        How much effort is required to fix it? (Cost)

        • The fix is available in EclipseLink RC4

        What is the risk of fixing it? (Risk)

        • EclipseLink RC4 also fixes other critical issues found during testing. These changes may introduce regression.
        • They have run their full set of tests against various platforms to ensure against regression.

        Does a work around for the issue exist? Can the workaround be reasonably employed by the end user?

        • No.

        If the issue is not fixed should the issue and its workaround (if applicable) be described in the Release Notes?

        • NA

        How long has the bug existed in the product?

        • 5-6 months (a regression).

        Do regression tests exist for this issue?

        • Yes, EclipseLink has added a regression test for this issue.

        Which tests should QA (re)run to verify the fix did not destabilize GlassFish?

        • The standard QE test suit against SQL Server and one more database

        When will a tested fix be ready for integration?

        • It is available now.
        Show
        Mitesh Meswani added a comment - How bad is its impact? (Severity) Identify why the fix needs to occur now: Is a regression of functionality or performance available in a prior release The basic functionality of JPQL TRIM() will not work against SQL server and any other databases that does not directly support TRIM() How often does it happen? (Frequency) Always against SQL Server How much effort is required to fix it? (Cost) The fix is available in EclipseLink RC4 What is the risk of fixing it? (Risk) EclipseLink RC4 also fixes other critical issues found during testing. These changes may introduce regression. They have run their full set of tests against various platforms to ensure against regression. Does a work around for the issue exist? Can the workaround be reasonably employed by the end user? No. If the issue is not fixed should the issue and its workaround (if applicable) be described in the Release Notes? NA How long has the bug existed in the product? 5-6 months (a regression). Do regression tests exist for this issue? Yes, EclipseLink has added a regression test for this issue. Which tests should QA (re)run to verify the fix did not destabilize GlassFish? The standard QE test suit against SQL Server and one more database When will a tested fix be ready for integration? It is available now.
        Hide
        Chris Kasso added a comment -

        Approved for RC2.

        Show
        Chris Kasso added a comment - Approved for RC2.
        Hide
        Mitesh Meswani added a comment -

        Fixed in branch with rev 44831
        Fixed in trunk with rev 44832

        Show
        Mitesh Meswani added a comment - Fixed in branch with rev 44831 Fixed in trunk with rev 44832
        Hide
        sherryshen added a comment -

        Verified the fix on glassfish-3.1-b43.zip and microsoftdd.

        Show
        sherryshen added a comment - Verified the fix on glassfish-3.1-b43.zip and microsoftdd.

          People

          • Assignee:
            Mitesh Meswani
            Reporter:
            sherryshen
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Due:
              Created:
              Updated:
              Resolved: