Skip to content

RANGER-4978: Synchronize Tags From Open Metadata Table Entities #544

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

darshanik
Copy link

What changes were proposed in this pull request?

  • This PR details the extension of tagsync to extract the tagged table entities from openmetadata and sync to ranger.

  • Created new package openmetadatarest under tagsync source.

  • Developed following class files under openmetadatarest package:

1. OpenmetadataRESTTagSource.java
2. RangerOpenmetadataEntity.java
3. RangerOpenmetadataEntityWithTags.java
4. OpenmetadataTableMapper.java
5. OpenmetadataResourceMapper.java
6. OpenmetadataResourceMapperUtil.java
7. OpenmetadataMappingHelper.java

  • Added openmetadata properties for openmetadata and get methods in TagSyncConfig.java
  • Added openmetadata properties in "installprop2xml.properties"
  • Added openmetadata properties in ranger-tagsync-template.xml
  • Added openmetadata properties in ranger-tagsync-site.xml
  • Added dependencies of Openmetadata java client and openmetadata spec in tag sync pom xml
  • Added openmetadata version in project's root pom.xml file

How was this patch tested?

This feature tested through unit tests and a practical simulation of a scenario involving tag synchronization from openmetadata into ranger.

More details can be found in the pdf document attached to this PR.

The document details all the class files, provides a code walkthrough and test results to reinforce the PR

Apache_Ranger_Tagsync_And_Openmetadata_Synchronization.pdf
Unit_Test_Successful_For_Openmetadata_Ranger_Table_Mapper

@darshanik darshanik changed the title RANGER_4978: Synchronize Tags From Open Metadata Table Entities RANGER-4978: Synchronize Tags From Open Metadata Table Entities Mar 16, 2025
@darshanik
Copy link
Author

Hi @kumaab @mneethiraj, just want to check if I can contribute this PR?

Thank you so much

@darshanik
Copy link
Author

Hi @mneethiraj @kumaab .

I tried to build the project with JDK 8 and 11 but the dependencies(openmetadata-java-client-1.6.4.jar and openmetadata-spec-1.6.4.jar) that are being used by my extended code for tagsync can only be compiled with JDK 17 and above.

Problem:
Existing JDK-8 and JDK-11 versions are having dependency conflict with my Changes(sync tags from openmetadata as source) because the openmetadata jars are compiled on JDk 17 and above

Suggested Solution:

I have spent sometime and was able to successfully build ranger along with my changes on open JDK 17 in my local machine.

Following is the snap for your reference.

ranger_build_successful

So I have added additional stages of build-17 and docker build-17 in the "maven.yml" file to test the build in my bracnh as part of PR workflow before asking you.

However, I'm facing the following errors. I'm not sure if these errors are related to my changes.

Ranger_build_Error_Github_workflow

If its not too much trouble, could you please guide me or suggest if there is any way that I can contribute my changes to Apache Ranger?

Thank you so much for your patience and consideration.

Please let me know if you need further details

my email: [email protected]

@darshanik
Copy link
Author

Found one more way. it is to build a java -8 compatible proxy for openmetadata.

So that I can separate open metadata interaction (runs on java 17) using REST API calls to call or make use of JDK methods primitive to openmetadata SDK while ranger and other plugins can be compatible with jdk8 and 11.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant