Gerrit 使用错误的排序规则

Gerrit 使用错误的排序规则

我正在尝试使用 ldap 针对 Active Directory 对 Gerrit 用户进行身份验证。我收到以下错误。

错误 com.google.gerrit.server.cache.PopulatingCache:无法在“groups_byext”中查找 CN%3DORG+%C3%96resund+ALL%2COU%3DOrganisation%2COU%3DGroups%2COU%3DOther%2C DC%3Dcompany%2CDC%3Dcom net.sf.ehcache.CacheException:无法获取键为“CN%3DORG+%C3%96resund+ALL%2COU%3DOrganisation%2COU%3DGroups%2COU%3DOther%2CDC%3Dcom”的缓存条目对象。

...

原因:java.sql.SQLException:操作 '=' 的排序规则 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) 混合非法

我对 mysql 或 Active Directory 不是很有经验,所以我对这个问题一无所知。

对于问题可能出在哪里,有什么建议吗?

答案1

这是 MySQL 错误,而不是 LDAP 错误。听起来您好像获得了一个组列表,但它无法根据其本地组权限表进行检查,因为数据库连接使用了错误的编码。

此线程提出了一个解决方案在 gerrit.conf 中的 JDBC 连接字符串中:

url = jdbc:mysql://foo/reviewdb?user=x&password=y&useUnicode=false&characterEncoding=latin1 

相关内容