美文网首页
org.sonarqube.ws.client.HttpExce

org.sonarqube.ws.client.HttpExce

作者: 荒原_狼 | 来源:发表于2018-10-30 10:34 被阅读0次

    背景

    今天有项目进行sonar扫描时,报错了,控制台的日志输出如下:


    报错信息

    查看原因

    查看了web.log,发现是数据库配置问题

    Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1656853 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
    

    问题出在 SonarQube 生成一个巨大的报告, 然后尝试上传它的压缩包时, 导致 HTTP 500, 因为 MySQL 拒绝接受这样一个大的请求正文。

    解决办法

    更改服务器mysql配置 (my. cnf文件), 以增加 packed大小 (从默认 10MB, 到任何大于你的报告大小):

    [mysqld]
    max_allowed_packet = 25M
    

    重新启动 MySQL 和sonar服务来生效。

    在jenkins端执行扫描后,发现依然还是报错,再次查看web.log,发现报错信息又变了:

    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
    

    查资料发现还是数据库配置这块的问题,在服务器mysql配置 (my. cnf文件)中,增加innodb_log_file_size的配置,如下:

    [mysqld]
    max_allowed_packet = 25M
    innodb_log_file_size=256M
    

    同样重启 MySQL 和sonar服务,再次扫描,发现上传报告这块就OK啦!

    相关文章

      网友评论

          本文标题:org.sonarqube.ws.client.HttpExce

          本文链接:https://www.haomeiwen.com/subject/fjcitqtx.html