glassfish
  1. glassfish
  2. GLASSFISH-17709

Failed to query from a cluster instance after a db restart

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Works as designed
    • Affects Version/s: 3.1.2
    • Fix Version/s: None
    • Component/s: entity-persistence
    • Labels:
      None
    • Environment:

      RHL5 and JDK1.6.0_26

      Description

      ogs-4.0-b09.zip

      Failed to query from a cluster instance after a db restart.

        Activity

        Hide
        sherryshen added a comment - - edited

        I found this failure during developing coherence tests.
        The problem can be reproduced without coherence,
        and hence, the steps are simplified as below.

        appserver-sqe/pe/ejb/coherence/web
        1. insert entityA from in1
        2. insert entityB from in2
        3. kill db in derby
        4. restart db
        5. query entityB from in1

        The query in step 5 failed with error of "No current connection".
        The pool cached in step 1 may be used and caused this failure.

        [#|2011-11-10T14:27:59.407-0800|INFO|glassfish3.1.2|org.eclipse.persistence.session.file:
        /export/hudson/workspace/sherry-ejb-lc1/glassfish3/glassfish/nodes/localhost-domain1/clustered_instance_1/applications/coherenceweb/WEB-INF/classes/_pu1|_ThreadID=25;_ThreadName=Thread-2;|Communication failure detected when attempting to perform read query outside of a transaction. Attempting to retry query. Error was: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException
        Internal Exception: java.sql.SQLNonTransientConnectionException: No current connection.
        Error Code: 40000
        Call: SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?)
        bind => [1 parameter bound]
        Query: ReadObjectQuery(name="readObject" referenceClass=JpaEntityB sql="SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?)").|#]

        [#|2011-11-10T14:27:59.407-0800|WARNING|glassfish3.1.2|org.eclipse.persistence.session.file:/export/hudson/workspace/sherry-ejb-lc1/glassfish3/glassfish/nodes/localhost-domain1/clustered_instance_1/applications/coherenceweb/WEB-INF/classes/_pu1|_ThreadID=25;_ThreadName=Thread-2;|Local Exception Stack:
        Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException
        Internal Exception: java.sql.SQLNonTransientConnectionException: No current connection.
        Error Code: 40000
        Call: SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?)
        bind => [1 parameter bound]
        Query: ReadObjectQuery(name="readObject" referenceClass=JpaEntityB sql="SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?)")
        at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processExceptionForCommError(DatabaseAccessor.java:1494)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:636)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
        at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
        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.selectOneRow(DatasourceCallQueryMechanism.java:666)
        at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRowFromTable(ExpressionQueryMechanism.java:2656)
        at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRow(ExpressionQueryMechanism.java:2627)
        at org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:450)
        at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1081)
        at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
        at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040)
        at org.eclipse.persistence.queries.ReadObjectQuery.execute(ReadObjectQuery.java:418)
        at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1128)
        at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516)
        at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586)
        at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593)
        at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552)
        at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586)
        at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593)
        at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552)
        at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586)
        at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593)
        at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552)
        at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586)
        at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593)
        at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498)
        at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1449)
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.executeQuery(EntityManagerImpl.java:820)
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.findInternal(EntityManagerImpl.java:760)
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:653)
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:532)
        at coherence.web.app.QueryServlet.doGet(QueryServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1547)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:833)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:730)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1031)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662)
        Caused by: java.sql.SQLNonTransientConnectionException: No current connection.
        at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
        at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
        at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
        at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:562)
        at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255)
        at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52)
        at com.sun.gjc.spi.ManagedConnection.prepareCachedStatement(ManagedConnection.java:964)
        at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1474)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1423)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:697)
        at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:585)
        ... 66 more
        Caused by: org.apache.derby.client.am.SqlException: No current connection.
        at org.apache.derby.client.am.Connection.checkForClosedConnection(Unknown Source)
        at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
        ... 76 more

        #]
        Show
        sherryshen added a comment - - edited I found this failure during developing coherence tests. The problem can be reproduced without coherence, and hence, the steps are simplified as below. appserver-sqe/pe/ejb/coherence/web 1. insert entityA from in1 2. insert entityB from in2 3. kill db in derby 4. restart db 5. query entityB from in1 The query in step 5 failed with error of "No current connection". The pool cached in step 1 may be used and caused this failure. [#|2011-11-10T14:27:59.407-0800|INFO|glassfish3.1.2|org.eclipse.persistence.session.file: /export/hudson/workspace/sherry-ejb-lc1/glassfish3/glassfish/nodes/localhost-domain1/clustered_instance_1/applications/coherenceweb/WEB-INF/classes/_pu1|_ThreadID=25;_ThreadName=Thread-2;|Communication failure detected when attempting to perform read query outside of a transaction. Attempting to retry query. Error was: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLNonTransientConnectionException: No current connection. Error Code: 40000 Call: SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?) bind => [1 parameter bound] Query: ReadObjectQuery(name="readObject" referenceClass=JpaEntityB sql="SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?)").|#] [#|2011-11-10T14:27:59.407-0800|WARNING|glassfish3.1.2|org.eclipse.persistence.session. file:/export/hudson/workspace/sherry-ejb-lc1/glassfish3/glassfish/nodes/localhost-domain1/clustered_instance_1/applications/coherenceweb/WEB-INF/classes/_pu1 |_ThreadID=25;_ThreadName=Thread-2;|Local Exception Stack: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.1.v20111018-r10243): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLNonTransientConnectionException: No current connection. Error Code: 40000 Call: SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?) bind => [1 parameter bound] Query: ReadObjectQuery(name="readObject" referenceClass=JpaEntityB sql="SELECT PKID, NAME FROM JPAENTITYB WHERE (PKID = ?)") at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processExceptionForCommError(DatabaseAccessor.java:1494) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:636) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535) at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717) 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.selectOneRow(DatasourceCallQueryMechanism.java:666) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRowFromTable(ExpressionQueryMechanism.java:2656) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRow(ExpressionQueryMechanism.java:2627) at org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:450) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1081) at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844) at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040) at org.eclipse.persistence.queries.ReadObjectQuery.execute(ReadObjectQuery.java:418) at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1128) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516) at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586) at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552) at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586) at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552) at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586) at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552) at org.eclipse.persistence.internal.sessions.AbstractSession.retryQuery(AbstractSession.java:1586) at org.eclipse.persistence.sessions.server.ClientSession.retryQuery(ClientSession.java:593) at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.retryQuery(UnitOfWorkImpl.java:5464) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1552) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498) at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1449) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.executeQuery(EntityManagerImpl.java:820) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.findInternal(EntityManagerImpl.java:760) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:653) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:532) at coherence.web.app.QueryServlet.doGet(QueryServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1547) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:833) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:730) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1031) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLNonTransientConnectionException: No current connection. at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source) at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:562) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52) at com.sun.gjc.spi.ManagedConnection.prepareCachedStatement(ManagedConnection.java:964) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1474) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1423) at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:697) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:585) ... 66 more Caused by: org.apache.derby.client.am.SqlException: No current connection. at org.apache.derby.client.am.Connection.checkForClosedConnection(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source) ... 76 more #]
        Hide
        Mitesh Meswani added a comment -

        GlassFish connection pool required connection validation to be turned on for the use case (killing db after initializing pool) that you are trying.

        See here for more details.
        http://blogs.oracle.com/JagadishPrasath/entry/connection_validation_in_glassfish_jdbc

        Show
        Mitesh Meswani added a comment - GlassFish connection pool required connection validation to be turned on for the use case (killing db after initializing pool) that you are trying. See here for more details. http://blogs.oracle.com/JagadishPrasath/entry/connection_validation_in_glassfish_jdbc
        Hide
        sherryshen added a comment -

        Verified the suggestion on 3.1.2 build 16.
        The query at step 5 works after connection validation is turned on for GlassFish connection pool.

        Show
        sherryshen added a comment - Verified the suggestion on 3.1.2 build 16. The query at step 5 works after connection validation is turned on for GlassFish connection pool.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: