red-napkin-59945
03/02/2022, 1:01 AMjava.lang.UnsupportedOperationException: Failed to find Typeref schema associated with Config-based Entityred-napkin-59945
03/02/2022, 1:01 AMCaused by: java.lang.UnsupportedOperationException: Failed to find Typeref schema associated with Config-based Entity
at com.linkedin.metadata.models.ConfigEntitySpec.getAspectTyperefSchema(ConfigEntitySpec.java:78)
at com.linkedin.metadata.entity.EntityService.toAspectUnion(EntityService.java:765)
at com.linkedin.metadata.entity.EntityService.lambda$null$8(EntityService.java:632)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at com.linkedin.metadata.entity.EntityService.lambda$getLatestAspectUnions$9(EntityService.java:633)
at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1321)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1699)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at com.linkedin.metadata.entity.EntityService.getLatestAspectUnions(EntityService.java:630)
at com.linkedin.metadata.entity.EntityService.getSnapshotRecords(EntityService.java:619)
at com.linkedin.metadata.entity.EntityService.getSnapshotUnions(EntityService.java:611)
at com.linkedin.metadata.entity.EntityService.getEntities(EntityService.java:510)
at com.linkedin.metadata.entity.EntityService.getEntity(EntityService.java:495)
at com.linkedin.metadata.resources.entity.EntityResource.lambda$get$0(EntityResource.java:116)
at com.linkedin.metadata.restli.RestliUtil.toTask(RestliUtil.java:30)
... 85 common frames omittedred-napkin-59945
03/02/2022, 1:02 AMConfig-based Entity not supported by Restli endpoint?red-napkin-59945
03/02/2022, 1:03 AMbig-carpet-38439
03/02/2022, 1:25 AMbig-carpet-38439
03/02/2022, 1:26 AMbig-carpet-38439
03/02/2022, 1:26 AMred-napkin-59945
03/02/2022, 1:34 AM@Test
public void test() throws Exception {
DataDocUrn dataDocUrn = new DataDocUrn("querybook", "123456");
MetadataChangeProposalWrapper wrapper = MetadataChangeProposalWrapper.builder()
.entityType("dataDoc")
.entityUrn(dataDocUrn.toString())
.upsert()
.aspect(new DataDocInfo()
.setDataDocUrl(new Url("<https://querybook.com//datadoc/784>"))
.setTitle("Test")
.setDescription("test")
.setLastModified(new ChangeAuditStamps()))
.build();
EventFormatter eventFormatter = new EventFormatter(EventFormatter.Format.PEGASUS_JSON);
ObjectMapper objectMapper = new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
JacksonDataTemplateCodec dataTemplateCodec = new JacksonDataTemplateCodec(objectMapper.getFactory());
String eventString = dataTemplateCodec.mapToString(eventFormatter.convert(wrapper).data());
RestEmitter emitter = RestEmitter.create(b -> b.server("<http://localhost:8080>"));
MetadataWriteResponse writeResponse = emitter.emit(wrapper).get();
}red-napkin-59945
03/02/2022, 1:35 AMred-napkin-59945
03/02/2022, 1:37 AM<http://localhost:8080/aspects?action=ingestProposal>red-napkin-59945
03/02/2022, 1:38 AMcurl '<http://localhost:8080/entities/urn%3Ali%3AdataDoc%3A(querybook,123456)>'big-carpet-38439
03/02/2022, 1:41 AMbig-carpet-38439
03/02/2022, 1:41 AMbig-carpet-38439
03/02/2022, 1:42 AMbig-carpet-38439
03/02/2022, 1:42 AMred-napkin-59945
03/02/2022, 1:42 AMred-napkin-59945
03/02/2022, 1:42 AMbig-carpet-38439
03/02/2022, 1:42 AMcurl '<http://localhost:8080/entitiesV2/><urn>'big-carpet-38439
03/02/2022, 1:43 AMred-napkin-59945
03/02/2022, 1:43 AMcurl '<http://localhost:8080/entitiesV2/urn%3Ali%3AdataDoc%3A(querybook,123456)> this worksred-napkin-59945
03/02/2022, 1:45 AMEntityResource.java ?red-napkin-59945
03/02/2022, 1:45 AMbig-carpet-38439
03/02/2022, 1:49 AMbig-carpet-38439
03/02/2022, 1:49 AMbig-carpet-38439
03/02/2022, 1:49 AMred-napkin-59945
03/02/2022, 5:46 AMcurl '<http://localhost:8080/aspects?action=ingestProposal>' -X POST --data '{
"proposal":{
"aspectName":"dataDocInfo",
"entityUrn":"urn:li:dataDoc:(querybook,123456)",
"entityType":"dataDoc",
"changeType":"UPSERT",
"aspect":{
"contentType":"application/json",
"value":"{
\"description\":\"test\",
\"lastModified\":{},
\"title\":\"Test\",
\"dataDocUrl\":\"<https://querybook.com/lasik/datadoc/784>\"
}"
}
}
}'hundreds-photographer-13496
03/02/2022, 6:41 AMbig-carpet-38439
03/02/2022, 4:18 PMred-napkin-59945
03/02/2022, 4:20 PMString eventString = dataTemplateCodec.mapToString(eventFormatter.convert(wrapper).data());red-napkin-59945
03/02/2022, 4:22 PMlastModified