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:24:00 UTC

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

     [ https://issues.apache.org/jira/browse/ATLAS-4731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paresh Devalia updated ATLAS-4731:
----------------------------------
    Attachment: BigInt_Test_Entity_BusMeta.json
                BigInt_Test_Create.json

> 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
>            Assignee: Paresh Devalia
>            Priority: Major
>         Attachments: BigInt_Test_Create.json, BigInt_Test_Entity_BusMeta.json
>
>
> 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)