GraphImporter fails to load LIGHTWEIGHT edges #7473
|
Data(~4.2 million vertices and ~125million edges) was loaded via GraphImporter. Possible cause: This has something to do with GraphBatch's lightEdges property(though it is deprecated) or the way GraphImporter handles edges with no properties. Suggestion: GraphImporter should expose GraphBatch properties or GraphImporter builder()/constructor should take an optional GraphBatch object as parameter to allow users to have more control while loading data via GraphImporter. SchemaJava codeGraphImporter logs -> ArcadeDB_GraphImporter_LIGHTWEIGHT_EDGE.log
|
Replies: 2 comments 6 replies
|
Thanks for the very complete report - the log and the screenshot together made this quick to pin down. Good news first: your import worked. All 75,539,070 CITE edges are in the database and traversable right now. You can confirm it without reloading anything: SELECT out("CITE").size() FROM WORK LIMIT 10
SELECT expand(outE("CITE")) FROM WORK LIMIT 10What went wrong is on the read side, not in GraphImporter. A Tracked as #7477 and fixed in #7478 (milestone 26.10.1): a scan of a LIGHTWEIGHT edge type now walks the vertices that hold the edges instead of the empty bucket, On your suggestion - exposing GraphBatch's properties through GraphImporter, or having the builder accept a GraphBatch - I would rather not, and I think you will agree once the cause is clear. One thing in your log worth a separate look on your side: That is 40% of your edge file. If your citation edges legitimately point at works outside the 4.2M you loaded, that is expected and you can ignore it. If not, check that |
|
Fixed in 26.10.1 (PR #7478, issue #7477). To confirm what I said earlier: your import was fine. All 75,539,070 CITE edges were in the database the whole time. The bug was that querying them by type name looked in the place where edge records live, and a LIGHTWEIGHT edge has no record there - so it answered zero.
Two notes: On your suggestion of exposing GraphBatch's settings through GraphImporter: not needed, and worth saying why. Still worth a look on your side: the log said 49,904,703 of your rows named an identity no WORK vertex carries. If those citations point at works outside your dataset, that is expected; otherwise check that ❤️ Thanks for helping make ArcadeDB better! ArcadeDB is free and open source, sustained by its community. If it's useful to you or your company, please consider becoming a sponsor to keep development going. |



Fixed in 26.10.1 (PR #7478, issue #7477).
To confirm what I said earlier: your import was fine. All 75,539,070 CITE edges were in the database the whole time. The bug was that querying them by type name looked in the place where edge records live, and a LIGHTWEIGHT edge has no record there - so it answered zero.
SELECT FROM CITE,SELECT count(*) FROM CITEandDELETE FROM CITEnow all work on a LIGHTWEIGHT type, and Studio labels it instead of showing0.Two notes:
count(*)on such a type is no longer instant (there is no stored count that can be right, so it reads the graph), andTRAVERSE/TRUNCATE TYPEnow return a clear error rather than quietly doing nothing - #7480 and #7481.On your…