-
Notifications
You must be signed in to change notification settings - Fork 7
Add audit detail change for dataclass lineage events #7032
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
Changes from all commits
513fb70
a40eeae
2222d7f
5b7d1c2
d49caed
d3fc98e
f40bc71
3706d5b
9532a5d
7921298
bca25d5
6ff313a
1de15be
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -20,6 +20,7 @@ | |||||
| import org.apache.commons.collections4.MapUtils; | ||||||
| import org.apache.commons.collections4.ListUtils; | ||||||
| import org.apache.commons.lang3.StringUtils; | ||||||
| import org.apache.commons.lang3.Strings; | ||||||
| import org.apache.logging.log4j.Level; | ||||||
| import org.jetbrains.annotations.NotNull; | ||||||
| import org.jetbrains.annotations.Nullable; | ||||||
|
|
@@ -1231,12 +1232,66 @@ public List<Map<String, Object>> insertRows(User user, Container container, List | |||||
| return super._insertRowsUsingDIB(user, container, rows, getDataIteratorContext(errors, InsertOption.INSERT, configParameters), extraScriptContext); | ||||||
| } | ||||||
|
|
||||||
| @Override | ||||||
| public Map<Integer, Map<String, Object>> getExistingRows(User user, Container container, Map<Integer, Map<String, Object>> keys, boolean verifyNoCrossFolderData, boolean verifyExisting, @Nullable Set<String> columns) throws SQLException, QueryUpdateServiceException, InvalidKeyException | ||||||
| { | ||||||
| Map<Integer, Map<String, Object>> dataRows = super.getExistingRows(user, container, keys, verifyNoCrossFolderData, verifyExisting, columns); | ||||||
| boolean hasParentInput = false; | ||||||
| if (_dataClass != null && columns != null && !columns.isEmpty()) | ||||||
| { | ||||||
| try | ||||||
| { | ||||||
| Map<String, String> importAliases = _dataClass.getImportAliases(); | ||||||
| for (String col : columns) | ||||||
| { | ||||||
| if (ExperimentService.isInputOutputColumn(col) || Strings.CI.equals("parent",col) || importAliases.containsKey(col)) | ||||||
|
||||||
| if (ExperimentService.isInputOutputColumn(col) || Strings.CI.equals("parent",col) || importAliases.containsKey(col)) | |
| if (ExperimentService.isInputOutputColumn(col) || Strings.CI.equals(col, "parent") || importAliases.containsKey(col)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
classId no longer needs to be computed since it is not being handed through.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This
isExpInputrelated logic does not seem appropriate for theAuditHandlerinterface. Is there a way that this can be registered as a part of a current or new audit handler that is only invoked for the necessary tables?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. This has been brought up a few times but hasn't been done due to difficulty. I added a TODO comment as a reminder.