wangzhongwei created RANGER-5003:
------------------------------------
Summary: Fix the bug that deleting a service fails with gtid
enabled mysql server
Key: RANGER-5003
URL: https://issues.apache.org/jira/browse/RANGER-5003
Project: Ranger
Issue Type: Bug
Components: admin
Affects Versions: 2.2.0
Reporter: wangzhongwei
Assignee: wangzhongwei
When I tried to delete a service, I encountered the following error, and the
deletion failed.
!image-2024-11-20-11-34-47-729.png|width=465,height=141!
logs are:
{code:java}
2024-11-11 10:29:12,463 | INFO | org.apache.ranger.common.RESTErrorUtil |
Operation error.
response=VXResponse={org.apache.ranger.view.VXResponse@15d84707statusCode={1}
msgDesc={Exception [EclipseLink-4002] (Eclipse Persistence Services -
2.5.2.v20140319-9ad6abd):
org.eclipse.persistence.exceptions.DatabaseExceptionInternal Exception:
java.sql.SQLSyntaxErrorException: Table 'ranger.tl_x_rms_resource_mapping'
doesn't existError Code: 1146Call: INSERT INTO TL_x_rms_resource_mapping (id)
SELECT t0.id FROM x_rms_resource_mapping t0 WHERE (t0.hl_resource_id IN (SELECT
t1.id FROM x_rms_service_resource t1 WHERE (t1.service_id = ?)) OR
t0.ll_resource_id IN (SELECT t2.id FROM x_rms_service_resource t2 WHERE
(t2.service_id = ?))) bind => [2 parameters bound]Query:
DeleteAllQuery(name="XXRMSResourceMapping.deleteByServiceId"
referenceClass=XXRMSResourceMapping sql="DELETE FROM
TL_x_rms_resource_mapping")} messageList={null}
}javax.ws.rs.WebApplicationException at
org.apache.ranger.common.RESTErrorUtil.createRESTException(RESTErrorUtil.java:56)
at
org.apache.ranger.common.RESTErrorUtil.createRESTException(RESTErrorUtil.java:311)
at
org.apache.ranger.rest.ServiceREST.deleteServiceById(ServiceREST.java:4340)
at org.apache.ranger.rest.ServiceREST.deleteService(ServiceREST.java:868) at
org.apache.ranger.rest.ServiceREST$$FastClassBySpringCGLIB$$92dab672.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
{code}
Conditions for reproducing the bug: MySQL configuration is as follows:
1.gtid be set to ON
enforce_gtid_consistency = ON
gtid_mode = ON
2.enable binlog,like configs in /etc/my.conf
log-bin=mysql-bin
server-id=1
binlog-format=row
3.version :5.6 <= mysql.version <8.0.13
--
This message was sent by Atlassian Jira
(v8.20.10#820010)