"The PROCESS privilege(s)" error: Space migration to Confluence Cloud
Summary
Guidance on fixing "The PROCESS privilege(s)" error during space migration from server to cloud using the Confluence Cloud Migration Assistant(CCMA).
Background
During the migration of Confluence space from server/DC to the cloud using CCMA, the migration process failed with the following error in the atlassian-confluence.log:
ERROR [ThreadPoolAsyncTaskExecutor::Thread 67] [agent.newexport.store.JdbcConfluenceStore] fetchString Query failed at: Query(sql=SELECT status FROM INFORMATION_SCHEMA.INNODB_METRICS where NAME ='cpu_n', tableName=null, exportName=null, userkeyColums=[], preserveIdentifierCase=false)
-- event: com.atlassian.confluence.event.events.plugin.PluginInstallEvent(com.atlassian.migration.agent) | originatingMemberUuid: <uuid>
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT status FROM INFORMATION_SCHEMA.INNODB_METRICS where NAME ='cpu_n']; nested exception is java.sql.SQLSyntaxErrorException: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation
This error occurs due to inadequate privileges for the Confluence database user. To resolve the access denied error, it is recommended to assign the PROCESS privilege for all database tables to the Confluence user.
The following section provides the steps to identify and resolve the error.
Identify and fix PROCESS privilege errors
The following database query will help identify whether the Confluence database user has PROCESS privilege.
SELECT grantor , grantee , table_schema , table_name , privilege_type FROM information_schema.table_privileges WHERE grantee = 'confluenceuser';
where confluenceuser is the database user for the Confluence database on the server side.
Execute the SQL query below to assign the PROCESS privilege to the Confluence database user:
grant PROCESS on *.* to '<confluenceuser>'@'localhost';
After making the above changes re-run the migration.