You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Paresh Devalia (Jira)" <ji...@apache.org> on 2023/03/02 10:22:00 UTC

[jira] [Created] (ATLAS-4731) Entity fetch api call fails for some entity which has businessMetaData with Biginteger attributes

Paresh Devalia created ATLAS-4731:
-------------------------------------

             Summary: Entity fetch api call fails for some entity which has businessMetaData with Biginteger attributes
                 Key: ATLAS-4731
                 URL: https://issues.apache.org/jira/browse/ATLAS-4731
             Project: Atlas
          Issue Type: Bug
          Components:  atlas-core
            Reporter: Paresh Devalia


Using the beta interface we can see our custom typeDefs in the left hand panel

>-- localTypeDef (1,012)
custom_typedef_a (1)
custom_typedef_b (1,008)
custom_typedef_c (3)

Selecting localTypeDev/custom__b displays the list of entities in the right hand panel.
Selecting any of the results generates a "Something went wrong" popup, the rotating loading icon and an unpopulated Properties/Relationships/Classifications/Audits/Tasks page.

The following ERROR message can be seen in the ATLAS application.log :-
ERROR - [etp2052996178-280 - xnxnxxnn-nnnn-nnnx-xnnn-nxnnxnnnxnnx:] ~ graph rollback due to exception (GraphTransactionInterceptor:200)
java.lang.ArrayIndexOutOfBoundsException: Required size [1] exceeds actual remaining size [0]
at org.janusgraph.diskstorage.util.StaticArrayBuffer.require(StaticArrayBuffer.java:94)
at org.janusgraph.diskstorage.util.StaticArrayBuffer.getByte(StaticArrayBuffer.java:170)
at org.janusgraph.diskstorage.util.StaticArrayBuffer.getBytes(StaticArrayBuffer.java:253)
at org.janusgraph.diskstorage.util.ReadArrayBuffer.getBytes(ReadArrayBuffer.java:120)
at org.janusgraph.graphdb.database.serialize.attribute.ByteArraySerializer.read(ByteArraySerializer.java:46)
at org.apache.atlas.repository.graphdb.janus.serializer.BigIntegerSerializer.read(BigIntegerSerializer.java:36)
at org.apache.atlas.repository.graphdb.janus.serializer.BigIntegerSerializer.read(BigIntegerSerializer.java:30)
at org.janusgraph.graphdb.database.serialize.StandardSerializer.readObjectNotNullInternal(StandardSerializer.java:305)
at org.janusgraph.graphdb.database.serialize.StandardSerializer.readObjectInternal(StandardSerializer.java:295)
at org.janusgraph.graphdb.database.serialize.StandardSerializer.readObject(StandardSerializer.java:275)
at org.janusgraph.graphdb.database.EdgeSerializer.readpropertyValue(EdgeSerializer.java:215)
at org.janusgraph.graphdb.database.EdgeSerializer.readpropertyValue(EdgeSerializer.java:205)
at org.janusgraph.graphdb.database.EdgeSerializer.parseRelation(EdgeSerializer.java:135)
at org.janusgraph.graphdb.database.EdgeSerializer.readRelation(EdgeSerializer.java:135)
at org.janusgraph.graphdb.transaction.RelationConstructor.readRelation(RelationConstructor.java:70)
at org.janusgraph.graphdb.transaction.RelationConstructor$1.next(RelationConstructor.java:57)
at org.janusgraph.graphdb.transaction.RelationConstructor$1.next(RelationConstructor.java:45)
at org.apache.tinkerpop.gremlin.structure.Vertex.property(Vertex.java:72)
at org.apache.tinkerpop.gremlin.structure.Vertex.property(Vertex.java:38)
at org.apache.atlas.repository.graphdb.janus.AtlasJanusElement.getProperty(AtlasJanusElement.java:66)
at org.apache.atlas.repository.store.graph.v2.AtlasGraphUtilsV2.getProperty(AtlasGraphUtilsV2.java:283)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

So while writing the BusinessMetaData for BigInteger, value=4 we do not call BigIntegerSerializer class, so i won't throw the exception.
And while access through UI it fetch data from BigintegerSerializer class and throw the Required size [1] exceeds actual remaining size [0] exception.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)