c4rt1y

confluence 疑难杂症汇总

0x01 背景

经历了5年左右的confluence维护,整理了下大概上遇到的问题,做了一个汇总。

0x02 实践

问题1:一个bug的描述
confluence部分空间要求不允许其他人员查看,在接入ldap之后出现了问题,所有的组全部由ldap进行管理,导致设置空间权限时,无法通过以组的形势进行对人员添加,但是我们可以采取进入空间对个人进行权限授权。
confluence创建新的ldap组,会出现的问题是在老的confluence组默认不会自动添加,自由新的组才会自动添加,在初次优化的时候就需关注这个,否则坑的是个人~


问题2:confluence恢复密码以恢复管理员用户权限:

原因:忘记管理员密码了。。。
解决方法:
2.1、编辑 /opt/atlassian/confluence/bin/setenv.sh 或setenv.bat 添加以下系统属性,用 唯一的临时密码代替。
	-Datlassian.recovery.password={your-password}
2.2、重启
2.3、使用用户名recovery_admin 和您在系统属性中指定的临时密码登录到Confluence 。


问题3:该文件的加载时间比平时要长,请稍等片刻,然后尝试刷新,问题依然存在

原因:同步内存过小
解决方法: 修改synchrony.memory.max大小
	vim /opt/atlassian/confluence/bin/setenv.sh
	CATALINA_OPTS="-Dsynchrony.memory.max=1560m ${CATALINA_OPTS}"


问题4:连接超时。如果这个问题再次发生,请联系您的 Confluence 管理员。您可能在使用一个不允许 WebSocket 连接的代理服务器。

原因:websocket内存过小

解决方法:修改org.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE大小
	vim /opt/atlassian/confluence/bin/setenv.sh
	CATALINA_OPTS="-Dorg.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE=42768 ${CATALINA_OPTS}"


问题5:升级磁盘问题

背景:升级confluence,总磁盘100G,使用磁盘75G,正常备份文件为800M,直接升级了。

原因:由于磁盘问题,发现confluence升级,会将/var/atlassian/confluence目录压缩到 /var/temp/目录里面(之前升级版本的时候由于磁盘问题,/var/temp作为临时目录当结束时会自动消失。)

解决方法:提前扩容磁盘


问题6:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB0\xEF\xBC...' for column 'BODY' at row 1

原因:数据出现utf8mb4格式,confluence版本在7.3.1之前都是utf8格式。

解决方法:升级到confluence7.3.5以上即可


问题7:Duplicate entry '' for key 'unq_lwr_username'     

原因:安装新版本,然后倒入数据之前,对unq_lwr_username去除索引,然后进行数据导入,等倒入结束,查询重复数据,去除重复数据,重新对unq_lwr_username添加索引。

解决方法:
7.1、安装confluence
7.2、删除索引    alter table user_mapping drop index uqi_lower_username;
7.3、倒入数据
7.4、查询重复索引 select lower_username from user_mapping group by lower_username having count(*)>1; 
7.5、确认重复数据 select lower_username from user_mapping where lower_username =xxxx;
7.6、修改重复数据 update user_mapping set lower_username='xxxx1' where user_key='4028205275914a520175f383125d0188';
7.7、添加索引 alter table user_mapping add unique index;uqi_lower_username(lower_username);


问题8:confluence启动失败导致的故障恢复

背景:数据库白名单,数据库密码错误等情况,导致启动失败,文件修改正确,但是还是提示失败

原因:confluence因为启动失败,会直接修改部分文件和目录权限,需要将权限修复到可以进行启动。报错详细请查看文件 /var/atlassian/application-data/confluence/logs/atlassian-confluence.log 。报错详情如下:
/var/atlassian/application-data/confluence/confluence.cfg.xml not found
/opt/atlassian/confluence/work/Standalone/localhost/ROOT/org/apache/jsp/errors_jsp.class  Permission denied

解决方法:赋权,然后重启即可
chown confluence.confluence -R  /var/atlassian/application-data/confluence/confluence.cfg.xml
chown confluence.confluence -R  /var/atlassian/application-data/confluence/plugins-cache
chown confluence.confluence -R  /opt/atlassian/confluence/work/Standalone/localhost/ROOT/org/apache/jsp/errors_jsp.class

问题9:An invalid XML character (Unicode: 0x8) was found in the CDATA section.
背景:老服务器上备份文件,迁移到新的confluence
原因:由于编码问题,无法导入新的服务器

解决方法:confluence进行整机迁移,直接对数据库A和服务器B进行,迁移到服务器A1和数据库B1,修改/var/atlassian/application-data/confluence/confluence.cfg.xml的数据库地址,直接重启即可

0x03 资料来源

https://blog.csdn.net/yomo127/article/details/85631221
https://blog.csdn.net/maxideacom/article/details/113099935

https://blog.csdn.net/cpongo10/article/details/98942484
https://blog.csdn.net/huyuchengus/article/details/83006001
https://blog.csdn.net/winpal/article/details/103492362

https://jira.atlassian.com/browse/CONFSERVER-45898?filter=98691&jql=project%20%3D%20CONFSERVER%20AND%20resolution%20%3D%20Unresolved%20AND%20text%20~%20%22NULL%22%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC
https://jira.atlassian.com/browse/CONFSERVER-59663?jql=project%20%3D%20CONFSERVER%20ORDER%20BY%20priority%20ASC%2C%20updated%20DESC
https://confluence.atlassian.com/confkb/saving-page-throws-unable-to-communicate-with-server-message-921470725.html
https://blog.csdn.net/byronliu029/article/details/82948636
GoTop