Cassandra 2.2.2 无法创建登录 user/role

Cassandra 2.2.2 cannot create login user/role

我最近将我的 cassandra 开发集群更新到 v2.2.2,其中包括 RoleManager 支持。我最近注意到,在通过 CQL 创建新用户时:

CREATE ROLE abc WITH PASSWORD = 'abcde' AND LOGIN = true;

CREATE USER abc WITH PASSWORD 'abcde';

无论哪种情况,执行上述命令后,用户都无法登录。检查 system_auth 键空间,我可以看到 'row' 写在角色 table 中,但没有写在凭据或用户中。

如果我手动将适当的行插入凭据和用户,然后我的用户才能登录。

另请注意,在手动将行插入凭据和用户之前,我无法删除用户 'abc'。

这是怎么回事 - 我是否误用了 CREATE USER / CREATE ROLE?在我看来,CREATE 操作应该进行必要的设置。还是升级迁移以某种微妙的方式失败了?

如果升级迁移过程成功完成,那么您应该会在日志中看到以下条目:

Completed conversion of legacy users
Completed conversion of legacy credentials

如果是这种情况,那么您需要手动删除遗留表:

DROP TABLE system_auth.users;
DROP TABLE system_auth.credentials;

这来自blog。 Cassandra 将继续使用遗留表,直到它们被删除。