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)