OpenJPA related error pops up when add two servers which just protocol
different in Monitoring porlet on admin console
----------------------------------------------------------------------------------------------------------------------
Key: GERONIMO-6096
URL: https://issues.apache.org/jira/browse/GERONIMO-6096
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Components: monitoring
Affects Versions: 3.0
Environment: JRE 1.6.0 IBM J9 2.4 Windows XP x86-32
jvmwi3260sr9-20110203_74623 (JIT enabled, AOT enabled)
Reporter: Tina Li
Assignee: Shenghao Fang
Priority: Minor
1. Use the July 26's build of geronimo-3.0 snapshot
2. Go to the "Monitoring" porlet on admin console
3. Click the "Add a new server" link under the servers category to add a new
server successfully:
name:localhost
IP/hostname: 127.0.0.1
Protocol:EJB
Port:4201
username and password are system and manager
4.Add another server follows step3, but the only difference is : protocol: JMX
Port: 1099
5.Click "Add" button ,then error displayed on admin console:
An error encountered while adding server.
Unable to commit: transaction marked for rollback
6.And warning message displayed on server console:
2011-07-26 16:18:48,031 WARN [Transaction] Unexpected exception from
beforeCompletion; transaction will roll back
<openjpa-2.1.1-SNAPSHOT-r422266:1146888 fatal store error>
org.apache.openjpa.persistence.EntityExistsException: The transaction has been
rolled back. See the nested exceptions for details on the errors that occurred.
FailedObject: org.apache.geronimo.monitoring.console.data.Node@125f125f
at
org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2321)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2158)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2056)
at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1974)
at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:520)
at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:505)
at
org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:407)
at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:255)
at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
at
org.apache.geronimo.transaction.GeronimoUserTransaction.commit(GeronimoUserTransaction.java:70)
at
org.apache.geronimo.monitoring.console.MonitoringPortlet.addServer(MonitoringPortlet.java:707)
at
org.apache.geronimo.monitoring.console.MonitoringPortlet.processAction(MonitoringPortlet.java:179)
at
org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:117)
at
org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:84)
at
org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:112)
at
org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:359)
at
org.apache.pluto.container.driver.PortletServlet.doPost(PortletServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
at
org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
at
org.apache.pluto.driver.container.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:101)
at
org.apache.pluto.container.impl.PortletContainerImpl.doAction(PortletContainerImpl.java:251)
at
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:135)
at
org.apache.pluto.driver.PortalDriverServlet.doPost(PortalDriverServlet.java:205)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.geronimo.console.filter.RedirectByHashFilter.doFilter(RedirectByHashFilter.java:116)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.geronimo.console.filter.PlutoURLRebuildFilter.doFilter(PlutoURLRebuildFilter.java:48)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.geronimo.console.filter.XSSXSRFFilter.doFilter(XSSXSRFFilter.java:130)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.geronimo.tomcat.security.SecurityValve.invoke(SecurityValve.java:87)
at
org.apache.geronimo.tomcat.security.jacc.JACCSecurityValve.invoke(JACCSecurityValve.java:54)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:701)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:48)
at
org.apache.geronimo.tomcat.valve.ProtectedTargetValve.invoke(ProtectedTargetValve.java:53)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:243)
at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:373)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:736)
Caused by: <openjpa-2.1.1-SNAPSHOT-r422266:1146888 fatal store error>
org.apache.openjpa.persistence.EntityExistsException: The statement was aborted
because it would have caused a duplicate key value in a unique or primary key
constraint or unique index identified by 'SQL110726160207650' defined on
'NODE'. {prepstmnt 510205545 INSERT INTO node (name, enabled, host, local,
password, port, protocol, urlPath, userName) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
[params=?, ?, ?, ?, ?, ?, ?, ?, ?]} [code=20000, state=23505]
FailedObject: org.apache.geronimo.monitoring.console.data.Node@125f125f
at
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4856)
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4831)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:78)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:143)
at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:79)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:99)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:87)
at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:550)
at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106)
at
org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:742)
at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
... 61 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: The statement was
aborted because it would have caused a duplicate key value in a unique or
primary key constraint or unique index identified by 'SQL110726160207650'
defined on 'NODE'. {prepstmnt 510205545 INSERT INTO node (name, enabled, host,
local, password, port, protocol, urlPath, userName) VALUES (?, ?, ?, ?, ?, ?,
?, ?, ?) [params=?, ?, ?, ?, ?, ?, ?, ?, ?]} [code=20000, state=23505]
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:281)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:257)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$1000(LoggingConnectionDecorator.java:72)
at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1199)
at
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:291)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1774)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:267)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:118)
... 71 more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira