Skip to content

Comments

[fix][loader] Fix deserialize json error#376

Merged
javeme merged 3 commits intomasterfrom
fix_deserialize_json
Nov 21, 2022
Merged

[fix][loader] Fix deserialize json error#376
javeme merged 3 commits intomasterfrom
fix_deserialize_json

Conversation

@coderzc
Copy link
Member

@coderzc coderzc commented Nov 21, 2022

Fixes: #373

Motivation

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/zc/IdeaProjects/incubator-hugegraph-toolchain/hugegraph-loader/hugegraph-loader-1.0.0/lib/log4j-slf4j-impl-2.18.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/zc/IdeaProjects/incubator-hugegraph-toolchain/hugegraph-loader/hugegraph-loader-1.0.0/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Failed to start loading, cause: Failed to deserialize json
Exception in thread "main" org.apache.hugegraph.rest.SerializeException: Failed to deserialize json
	at org.apache.hugegraph.loader.util.JsonUtil.fromJson(JsonUtil.java:77)
	at org.apache.hugegraph.loader.util.MappingUtil.parse(MappingUtil.java:84)
	at org.apache.hugegraph.loader.mapping.LoadMapping.of(LoadMapping.java:68)
	at org.apache.hugegraph.loader.HugeGraphLoader.<init>(HugeGraphLoader.java:80)
	at org.apache.hugegraph.loader.HugeGraphLoader.<init>(HugeGraphLoader.java:76)
	at org.apache.hugegraph.loader.HugeGraphLoader.main(HugeGraphLoader.java:67)
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Conflicting property-based creators: already had explicitly marked creator [constructor for org.apache.hugegraph.loader.mapping.LoadMapping, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator(mode=DEFAULT)}], encountered another: [constructor for org.apache.hugegraph.loader.mapping.LoadMapping, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator(mode=DEFAULT)}]
 at [Source: (String)"{
  "version": "2.0",
  "structs": [
    {
      "id": "1",
      "skip": false,
      "input": {
        "type": "FILE",
        "path": "computer-dist/src/assembly/dataset/ml-latest-small/ratings.csv",
        "file_filter": {
          "extensions": [
            "*"
          ]
        },
        "format": "CSV",
        "delimiter": ",",
        "date_format": "yyyy-MM-dd HH:mm:ss",
        "time_zone": "GMT+8",
        "skipped_line": {
          "regex": "(^#|^//).*|"
        },
        ""[truncated 4213 chars]; line: 1, column: 1]
	at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:62)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:227)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:143)
	at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:414)
	at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349)
	at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
	at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
	at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
	at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:479)
	at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:4405)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4214)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3182)
	at org.apache.hugegraph.loader.util.JsonUtil.fromJson(JsonUtil.java:74)
	... 5 more

Modifications

  • Remove conflicted @JsonCreator.
  • Add mapping v2 test.

@coderzc coderzc added bug Something isn't working loader hugegraph-loader labels Nov 21, 2022
@coderzc coderzc added this to the 1.0.0 milestone Nov 21, 2022
@coderzc coderzc requested review from Linary and imbajin November 21, 2022 08:56
@coderzc coderzc changed the title [fix] Fix deserialize json [fix] Fix deserialize json error Nov 21, 2022
@coderzc coderzc changed the title [fix] Fix deserialize json error [fix][loader] Fix deserialize json error Nov 21, 2022
@imbajin
Copy link
Member

imbajin commented Nov 21, 2022

the same error in CI https://github.com/apache/incubator-hugegraph-toolchain/actions/runs/3512780159/jobs/5884852234....

maybe try cherry-pick #374 first

@coderzc coderzc requested review from javeme and zyxxoo November 21, 2022 09:52
@codecov
Copy link

codecov bot commented Nov 21, 2022

Codecov Report

Merging #376 (a21932d) into master (14ea43e) will increase coverage by 4.92%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #376      +/-   ##
============================================
+ Coverage     57.52%   62.44%   +4.92%     
+ Complexity     1864      894     -970     
============================================
  Files           263       91     -172     
  Lines         10272     4399    -5873     
  Branches        877      515     -362     
============================================
- Hits           5909     2747    -3162     
+ Misses         3979     1449    -2530     
+ Partials        384      203     -181     
Impacted Files Coverage Δ
...g/apache/hugegraph/loader/mapping/LoadMapping.java 75.64% <ø> (ø)
...apache/hugegraph/api/traverser/CrosspointsAPI.java
.../apache/hugegraph/structure/auth/HugeResource.java
.../hugegraph/serializer/direct/util/BytesBuffer.java
...ava/org/apache/hugegraph/driver/SchemaManager.java
...ava/org/apache/hugegraph/driver/CypherManager.java
.../org/apache/hugegraph/structure/SchemaElement.java
...in/java/org/apache/hugegraph/api/auth/AuthAPI.java
.../apache/hugegraph/api/schema/SchemaElementAPI.java
...he/hugegraph/exception/NotAllCreatedException.java
... and 165 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@javeme javeme merged commit c979b86 into master Nov 21, 2022
@javeme javeme deleted the fix_deserialize_json branch November 21, 2022 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working loader hugegraph-loader

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

[Bug] Jackson Conflicting property-based creators Exception

4 participants