[ https://issues.apache.org/jira/browse/RANGER-1521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pradeep Agrawal reassigned RANGER-1521: --------------------------------------- Assignee: Pradeep Agrawal > Ranger database script for mysql requires admin privileges for replicated > database > ---------------------------------------------------------------------------------- > > Key: RANGER-1521 > URL: https://issues.apache.org/jira/browse/RANGER-1521 > Project: Ranger > Issue Type: Bug > Components: admin > Affects Versions: 0.6.2 > Reporter: Eric Yang > Assignee: Pradeep Agrawal > Priority: Major > Attachments: RANGER-1521.patch > > > When running install or upgrade on replicated MySQL or MariaDB, ranger > installation might fail with: > {code} > Error executing: CREATE FUNCTION `getTempPolicyCount`(assetId bigint, resId > bigint) RETURNS int(11) BEGIN DECLARE tempPolicyCount int default 1; DECLARE > dbResourceId bigint; DECLARE exitLoop int DEFAULT FALSE; DECLARE policyList > CURSOR FOR SELECT id from x_resource where asset_id = assetId; DECLARE > CONTINUE HANDLER FOR NOT FOUND SET exitLoop = true; OPEN policyList; > readPolicy : LOOP FETCH policyList into dbResourceId; IF exitLoop THEN set > tempPolicyCount = tempPolicyCount + 1; LEAVE readPolicy; END IF; IF (resId = > dbResourceId) THEN LEAVE readPolicy; END IF; set tempPolicyCount = > tempPolicyCount + 1; END LOOP; CLOSE policyList; RETURN tempPolicyCount; END > java.sql.SQLException: This function has none of DETERMINISTIC, NO SQL, or > READS SQL DATA in its declaration and binary logging is enabled (you *might* > want to use the less safe log_bin_trust_function_creators variable) > SQLException : SQL state: HY000 java.sql.SQLException: This function has none > of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary > logging is enabled (you *might* want to use the less safe > log_bin_trust_function_creators variable) ErrorCode: 1418 2017-04-05 > 22:59:00,345 [JISQL] > /usr/jdk64/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/bin/java -cp > /usr/iop/current/ranger-admin/ews/lib/mysql-connector-java.jar:/usr/iop/current/ranger-admin/jisql/lib/* > org.apache.util.sql.Jisql -driver mysqlconj -cstring > jdbc:mysql://tmh21-3-dal10-bi-mn000.fyre.ibm.com/ranger -u 'ranger' -p > '********' -noheader -trim -c \; -query "delete from x_db_version_h where > version='007' and active='N' and > updated_by='tmh21-3-dal10-bi-mn004.fyre.ibm.com';" 2017-04-05 22:59:00,781 > [E] 007-updateBlankPolicyName.sql import failed! > {code} > Two files under ranger-admin/db/mysql/patches: > 007-updateBlankPolicyName.sql and 008-removeTrailingSlash.sql are using > rand() functions to generate transaction ID, which makes them > non-deterministic functions and are causing failures on replicated MySQL > database. -- This message was sent by Atlassian Jira (v8.3.4#803005)