You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I create OClasses with recursive dependencies I have error:
Example User(@linkset subscriptions: Set[Place]) and Place(@linkset subscribers: Set[User])
java.lang.StackOverflowError
at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:153)
at java.lang.StringCoding.decode(StringCoding.java:193)
at java.lang.String.(String.java:426)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.stringFromBytes(ORecordSerializerBinaryV0.java:815)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readString(ORecordSerializerBinaryV0.java:772)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:304)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializePartial(ORecordSerializerBinaryV0.java:143)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:72)
at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1817)
at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2413)
at com.orientechnologies.orient.core.record.impl.ODocument.rawField(ODocument.java:767)
at com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:792)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:186)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor.apply(ClassNameReadersRegistry.scala:43)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor.apply(ClassNameReadersRegistry.scala:33)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry.createClassByDocumentClassName(ClassNameReadersRegistry.scala:141)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$getValueMapperForRead$4.apply(ClassNameReadersRegistry.scala:264)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
The text was updated successfully, but these errors were encountered:
Fixing this is a little tricky. A temporary entry need to be entered into the type readers registry so that if its re-visited, its not re-added and the reference is re-used.
If I create OClasses with recursive dependencies I have error:
Example User(@linkset subscriptions: Set[Place]) and Place(@linkset subscribers: Set[User])
java.lang.StackOverflowError
at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:153)
at java.lang.StringCoding.decode(StringCoding.java:193)
at java.lang.String.(String.java:426)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.stringFromBytes(ORecordSerializerBinaryV0.java:815)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readString(ORecordSerializerBinaryV0.java:772)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:304)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializePartial(ORecordSerializerBinaryV0.java:143)
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:72)
at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1817)
at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:2413)
at com.orientechnologies.orient.core.record.impl.ODocument.rawField(ODocument.java:767)
at com.orientechnologies.orient.core.record.impl.ODocument.field(ODocument.java:792)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:186)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor.apply(ClassNameReadersRegistry.scala:43)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor.apply(ClassNameReadersRegistry.scala:33)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry.createClassByDocumentClassName(ClassNameReadersRegistry.scala:141)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$getValueMapperForRead$4.apply(ClassNameReadersRegistry.scala:264)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.ClassNameReadersRegistry$$anonfun$com$emotioncity$soriento$loadbyname$ClassNameReadersRegistry$$toFieldReader$3.apply(ClassNameReadersRegistry.scala:190)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
at com.emotioncity.soriento.loadbyname.DocumentFromConstructor$$anonfun$1.apply(ClassNameReadersRegistry.scala:43)
The text was updated successfully, but these errors were encountered: