Apache Atlas源码跟踪-entity的relationship属性逻辑删除问题

本文介绍了如何在Apache Atlas中实现实体relationship属性的物理删除,通过修改服务端代码和配置文件,从逻辑删除切换到硬删除,避免在查询时返回DELETED状态的数据。

一、问题描述

atlasEntity实体的relationship属性更新(删除)操作,Apache Atlas默认是逻辑删除,查询会携带relationship的状态:
在这里插入图片描述
业务要求达到物理删除。

二、解决思路

2.1 服务端修改(采纳)

先debug看下删除逻辑,如果有预留的物理删除操作,则直接替换;如果没有,则考虑修改源码添加删除操作;

2.2 应用端修改

在业务系统的应用端把所有DELETED状态的数据过滤掉返回;虽然这个办法最省力,但是效率是最差的,属于没办法的办法,优先级最低。

三、解决方案

3.1 前置代码逻辑

由于上篇文章侧重点是新建entity的relationship问题,本篇是修改,前置逻辑一样,就不在使用冗余信息了,参考上篇文章:Apache Atlas 源码跟踪和修改- entity的relationship查询无序问题

3.2 relationship核心更新代码

3.2.1 删除旧元素入口:

package:org.apache.atlas.repository.store.graph.v2
class:EntityGraphMapper
method:mapArrayValue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值