当我从 5.0 升级到 5.1 时,我确实收到了这个错误。
它与https://jira.codehaus.org/browse/SONAR-4778有关。有关详细信息,请参阅http://sonarqube.15.x6.nabble.com/WARN-web-ossn-NotificationService-Unable-to-deliver-notification-td5035238.html。
这是一个错误,应该在 5.1.1 中使用https://jira.codehaus.org/browse/SONAR-6566修复,正如 Simon Brandhof 所说。
现在我已经升级到 5.1.1,但我仍然遇到同样的问题。
2015.06.09 09:52:48 WARN web[o.s.s.n.NotificationService] Unable to deliver notification Notification{type='issue-changes', fields={new.resolution=FIXED, old.status=OPEN, projectKey=xxxxxx, new.status=CLOSED, ruleName=Public types, methods and fields (API) should be documented with Javadoc, reporter=null, assignee=xxxxxx, message=Document this public constructor., old.reso
lution=null, projectName=xxxxxxxx, componentKey=null, key=d7571ab9-ac49-41c9-9973-35d4a1ee83cf}} for user xxxxx via EmailNotificationChannel
javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: could not execute query
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614) ~[hibernate-entitymanager-3.4.0.GA.jar:3.4.0.GA]
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76) ~[hibernate-entitymanager-3.4.0.GA.jar:3.4.0.GA]
at org.sonar.jpa.session.JpaDatabaseSession.getSingleResult(JpaDatabaseSession.java:207) ~[sonar-core-5.1.1.jar:na]
at org.sonar.jpa.session.JpaDatabaseSession.getSingleResult(JpaDatabaseSession.java:238) ~[sonar-core-5.1.1.jar:na]
at org.sonar.core.user.HibernateUserFinder.findByLogin(HibernateUserFinder.java:47) ~[sonar-core-5.1.1.jar:na]
at org.sonar.plugins.emailnotifications.EmailNotificationChannel.deliver(EmailNotificationChannel.java:98) ~[na:na]
at org.sonar.server.notifications.NotificationService.dispatch(NotificationService.java:200) [sonar-server-5.1.1.jar:na]
at org.sonar.server.notifications.NotificationService.deliver(NotificationService.java:190) [sonar-server-5.1.1.jar:na]
at org.sonar.server.computation.step.SendIssueNotificationsStep.doExecute(SendIssueNotificationsStep.java:83) [sonar-server-5.1.1.jar:na]
at org.sonar.server.computation.step.SendIssueNotificationsStep.execute(SendIssueNotificationsStep.java:66) [sonar-server-5.1.1.jar:na]
at org.sonar.server.computation.ComputationService.process(ComputationService.java:89) [sonar-server-5.1.1.jar:na]
at org.sonar.server.computation.ComputationContainer.execute(ComputationContainer.java:47) [sonar-server-5.1.1.jar:na]
at org.sonar.server.computation.ComputationThread.run(ComputationThread.java:58) [sonar-server-5.1.1.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_45]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: org.hibernate.exception.JDBCConnectionException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.doList(Loader.java:2235) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.list(Loader.java:2124) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) ~[hibernate-entitymanager-3.4.0.GA.jar:3.4.0.GA]
... 18 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_45]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_45]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_45]
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_45]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.Util.getInstance(Util.java:360) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1232) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1225) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4104) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4073) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281) ~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313) ~[commons-dbcp-1.4.jar:1.4]
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.doQuery(Loader.java:696) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.doList(Loader.java:2232) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
... 26 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 264Â 434Â 682 milliseconds ago. The last packet sent successfully to
ur application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.ction validity before use in yo at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_45]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_45]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_45]
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_45]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1036) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3661) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2417) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2030) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2030) ~[mysql-connector-java-5.1.34.jar:5.1.34]
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) ~[commons-dbcp-1.4.jar:1.4]
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.getResultSet(Loader.java:1812) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
at org.hibernate.loader.Loader.doQuery(Loader.java:697) ~[hibernate-core-3.3.2.GA.jar:3.3.2.GA]
... 28 common frames omitted
Caused by: java.net.SocketException: Relais brisé (pipe)
at java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.8.0_45]
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) ~[na:1.8.0_45]
at java.net.SocketOutputStream.write(SocketOutputStream.java:153) ~[na:1.8.0_45]
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) ~[na:1.8.0_45]
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) ~[na:1.8.0_45]
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3643) ~[mysql-connector-java-5.1.34.jar:5.1.34]
... 38 common frames omitted
我无权访问 Jira,因此无法为该错误添加评论。你能帮我解决这个问题吗?
这是系统信息页面中的数据库配置:
Database
Database MySQL
Database Version 5.5.37-log
Username sonarqube@xxxxxxxxxxx
URL jdbc:mysql://xxxxxxxxxx/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
Driver MySQL Connector Java
Driver Version mysql-connector-java-5.1.34 ( Revision: jess.balint@oracle.com-20141014163213-wqbwpf1ok2kvo1om )
Version Status UP_TO_DATE
Pool Active Connections 2
Pool Max Connections 50
Pool Initial Size 0
Pool Idle Connections 3
Pool Min Idle Connections 2
Pool Max Idle Connections 5
Pool Max Wait (ms) 5000
Pool Remove Abandoned false
Pool Remove Abandoned Timeout (seconds) 300