Skip to content

Commit 5c5fa09

Browse files
committed
fix(aspects): fix default aspect generation for non-restli locations
1 parent f378fb6 commit 5c5fa09

File tree

48 files changed

+583
-540
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+583
-540
lines changed

datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/nocode/DataMigrationStep.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.linkedin.datahub.upgrade.UpgradeStepResult;
1111
import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult;
1212
import com.linkedin.metadata.Constants;
13+
import com.linkedin.metadata.aspect.utils.DefaultAspectsUtil;
1314
import com.linkedin.metadata.entity.EntityService;
1415
import com.linkedin.metadata.entity.ebean.EbeanAspectV1;
1516
import com.linkedin.metadata.entity.ebean.EbeanAspectV2;
@@ -170,7 +171,7 @@ public Function<UpgradeContext, UpgradeStepResult> executable() {
170171
// Emit a browse path aspect.
171172
final BrowsePaths browsePaths;
172173
try {
173-
browsePaths = _entityService.buildDefaultBrowsePath(urn);
174+
browsePaths = DefaultAspectsUtil.buildDefaultBrowsePath(urn, _entityService);
174175

175176
final AuditStamp browsePathsStamp = new AuditStamp();
176177
browsePathsStamp.setActor(Urn.createFromString(Constants.SYSTEM_ACTOR));

datahub-upgrade/src/main/java/com/linkedin/datahub/upgrade/system/entity/steps/BackfillBrowsePathsV2Step.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.linkedin.datahub.upgrade.impl.DefaultUpgradeStepResult;
1616
import com.linkedin.events.metadata.ChangeType;
1717
import com.linkedin.metadata.Constants;
18+
import com.linkedin.metadata.aspect.utils.DefaultAspectsUtil;
1819
import com.linkedin.metadata.entity.EntityService;
1920
import com.linkedin.metadata.query.SearchFlags;
2021
import com.linkedin.metadata.query.filter.Condition;
@@ -181,7 +182,8 @@ private Filter backfillDefaultBrowsePathsV2Filter() {
181182
}
182183

183184
private void ingestBrowsePathsV2(Urn urn, AuditStamp auditStamp) throws Exception {
184-
BrowsePathsV2 browsePathsV2 = _entityService.buildDefaultBrowsePathV2(urn, true);
185+
BrowsePathsV2 browsePathsV2 =
186+
DefaultAspectsUtil.buildDefaultBrowsePathV2(urn, true, _entityService);
185187
log.debug(String.format("Adding browse path v2 for urn %s with value %s", urn, browsePathsV2));
186188
MetadataChangeProposal proposal = new MetadataChangeProposal();
187189
proposal.setEntityUrn(urn);

entity-registry/src/main/java/com/linkedin/metadata/aspect/batch/AspectsBatch.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.linkedin.metadata.aspect.plugins.validation.AspectRetriever;
44
import com.linkedin.mxe.SystemMetadata;
55
import com.linkedin.util.Pair;
6+
import java.util.Collection;
67
import java.util.HashSet;
78
import java.util.List;
89
import java.util.Map;
@@ -17,14 +18,14 @@
1718
* SystemMetadata} and record/message created time
1819
*/
1920
public interface AspectsBatch {
20-
List<? extends BatchItem> getItems();
21+
Collection<? extends BatchItem> getItems();
2122

2223
/**
2324
* Returns MCP items. Can be patch, upsert, etc.
2425
*
2526
* @return batch items
2627
*/
27-
default List<? extends MCPBatchItem> getMCPItems() {
28+
default Collection<? extends MCPBatchItem> getMCPItems() {
2829
return getItems().stream()
2930
.filter(item -> item instanceof MCPBatchItem)
3031
.map(item -> (MCPBatchItem) item)

entity-registry/src/main/java/com/linkedin/metadata/aspect/batch/BatchItem.java

+10
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import com.linkedin.common.AuditStamp;
44
import com.linkedin.common.urn.Urn;
5+
import com.linkedin.data.template.RecordTemplate;
56
import com.linkedin.events.metadata.ChangeType;
67
import com.linkedin.metadata.models.AspectSpec;
78
import com.linkedin.metadata.models.EntitySpec;
89
import com.linkedin.mxe.SystemMetadata;
910
import javax.annotation.Nonnull;
11+
import javax.annotation.Nullable;
1012

1113
public interface BatchItem {
1214
/**
@@ -63,4 +65,12 @@ default String getAspectName() {
6365
*/
6466
@Nonnull
6567
AspectSpec getAspectSpec();
68+
69+
/**
70+
* The aspect's record template. Null when patch
71+
*
72+
* @return record template if it exists
73+
*/
74+
@Nullable
75+
RecordTemplate getRecordTemplate();
6676
}

entity-registry/src/main/java/com/linkedin/metadata/aspect/batch/MCLBatchItem.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ default String getAspectName() {
2626
if (getMetadataChangeLog().getAspectName() != null) {
2727
return getMetadataChangeLog().getAspectName();
2828
} else {
29-
return getAspect().schema().getName();
29+
return getRecordTemplate().schema().getName();
3030
}
3131
}
3232

@@ -40,10 +40,7 @@ default SystemMetadata getPreviousSystemMetadata() {
4040
}
4141

4242
@Nullable
43-
RecordTemplate getPreviousAspect();
44-
45-
@Nonnull
46-
RecordTemplate getAspect();
43+
RecordTemplate getPreviousRecordTemplate();
4744

4845
@Override
4946
@Nonnull

entity-registry/src/main/java/com/linkedin/metadata/aspect/batch/UpsertItem.java

-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
* related data stored along with the aspect
1212
*/
1313
public abstract class UpsertItem extends MCPBatchItem {
14-
public abstract RecordTemplate getAspect();
15-
1614
public abstract SystemAspect toLatestEntityAspect();
1715

1816
public abstract void validatePreCommit(

metadata-integration/java/spark-lineage/src/test/java/datahub/spark/TestCoalesceJobLineage.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ public static void resetBaseExpectations() {
9999

100100
@BeforeClass
101101
public static void initMockServer() {
102-
mockServer = startClientAndServer(GMS_PORT);
102+
if (mockServer == null) {
103+
mockServer = startClientAndServer(GMS_PORT);
104+
}
103105
resetBaseExpectations();
104106
}
105107

metadata-integration/java/spark-lineage/src/test/java/datahub/spark/TestSparkJobsLineage.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,9 @@ public static void resetBaseExpectations() {
138138

139139
@BeforeClass
140140
public static void init() {
141-
mockServer = startClientAndServer(GMS_PORT);
141+
if (mockServer == null) {
142+
mockServer = startClientAndServer(GMS_PORT);
143+
}
142144
resetBaseExpectations();
143145
}
144146

0 commit comments

Comments
 (0)