ArrayIndexOutOfBoundsException after inserting a lot of records

303 views
Skip to first unread message

Gabriel Vince

unread,
May 9, 2012, 9:18:26 AM5/9/12
to orient-...@googlegroups.com
Hi,

after inserting a bunch (200 000 - 300 000) records I got a following exception:


com.orientechnologies.orient.core.exception.ODatabaseException: Error on saving record in cluster #7
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.createException(OChannelBinary.java:409)
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.handleStatus(OChannelBinary.java:364)
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:150)
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:61)
    at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1449)
    at com.orientechnologies.orient.client.remote.OStorageRemote.createRecord(OStorageRemote.java:315)
    at com.orientechnologies.orient.client.remote.OStorageRemoteThread.createRecord(OStorageRemoteThread.java:139)
    at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:237)
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:652)
    at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:68)
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:218)
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:33)
    at com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.save(ODatabaseRecordWrapperAbstract.java:234)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:143)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:100)
    at com.apogado.ste.orienttest2.App.relationCreateTest(App.java:199)
    at com.apogado.ste.orienttest2.App.main(App.java:39)
Caused by: java.lang.ArrayIndexOutOfBoundsException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.createException(OChannelBinary.java:411)
    ... 16 more


using OrientDB build 5530 on JDK 1.6.0_29 Windows XP

test case:

// create database
ODatabaseDocumentTx db = ODatabaseDocumentPool.global().acquire("remote:localhost/test2", "admin", "admin");
       
        OSchema schema = db.getMetadata().getSchema();
        if(!schema.existsClass("Customer"))
        {
            OClass oc = schema.createClass("Customer");
            oc.createProperty("name", OType.STRING);
           
            oc = schema.createClass("Invoice");
            oc.createProperty("customer", OType.LINK);
            oc.createProperty("name", OType.STRING);
            oc.createProperty("number", OType.INTEGER);

                   // this is to simulate a LOT of many to one relations
                   // dodn't want to use set to keep it all in memory
            oc.createIndex("idx_customer", OClass.INDEX_TYPE.NOTUNIQUE, "customer");           

            schema.save();
       
            StringBuilder buff = new StringBuilder();
            for(int i=0; i<2; i++)
            {
                ODocument customer = db.newInstance("Customer");
                buff.setLength(0);
                buff.append("Customer ").append(i);
                customer.field("name",buff.toString());
                db.save(customer);
                System.out.println(buff.toString());
               
                for(int j=0; j<200000; j++)
                {
                    ODocument invoice = new ODocument("Invoice");
                    invoice.field("customer",customer);
                    buff.setLength(0);
                    buff.append(i).append('-').append(j);
                    invoice.field("name",buff.toString());
                    invoice.field("number",j);
                    if(j%1000 == 0)
                    {
                        System.out.println(buff.toString());
                    }
                    db.save(invoice);
                }
            }



// possible consideration
I don't know how well the MVRB-Tree index handles a lot of non-unique duplicate records, maybe I could get rid of data to save some moemory ( mvrbtree.ridNodeSaveMemory) , but I don't believe it's the case..

// aditional information
the server consumed almost all the heap, but did not complain about it (no OOM exception or something similar)

any idea whay could couse the exception and how to resolve it?

Best regards
              Gabriel


Gabriel Vince

unread,
May 9, 2012, 10:36:27 AM5/9/12
to orient-...@googlegroups.com
a note - I will try to profile the insert what's going on..

Op woensdag 9 mei 2012 15:18:26 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 9, 2012, 11:42:31 AM5/9/12
to orient-...@googlegroups.com
Hi all,

profiler dump:
OrientDB profiler dump of Wed May 09 17:24:44 CEST 2012 after 0 secs of profiling
Free memory: 400.95Mb (75.15%) - Total memory: 132.58Mb - Max memory: 533.53Mb - CPUs: 2

DUMPING COUNTERS (last reset on: Wed May 09 17:23:29 CEST 2012)...
                                                   +-------------------------------------------------------------------+
                                              Name | Value                                                             |
                                                   +-------------------------------------------------------------------+
                                                   +-------------------------------------------------------------------+

DUMPING STATISTICS (last reset on: Wed May 09 17:23:29 CEST 2012). Times in ms...
                                                   +-------------------------------------------------------------------+
                                              Name |       last      total        min        max    average      items |
                                                   +-------------------------------------------------------------------+
[OMVRBTree.getEntry] Steps of search               |          0        210          0          1          0      15972 |
                                                   +-------------------------------------------------------------------+

DUMPING CHRONOS (last reset on: Wed May 09 17:23:29 CEST 2012). Times in ms...
                                                   +-------------------------------------------------------------------+
                                              Name |       last      total        min        max    average      items |
                                                   +-------------------------------------------------------------------+
OMVRBTreePersistent.commitChanges                  |          0        609          0         79          7         80 |
OMVRBTreePersistent.putAll                         |          0       1048          0        141          6        161 |
OMVRBTreeRIDProvider.toStream                      |          0          0          0          0          0        161 |
ORecordSerializerStringAbstract.fromStream         |          0       1242          0        563          0      30394 |
ORecordSerializerStringAbstract.toStream           |          0       3489          0        234          0      49425 |
serializer.rec.str.embedList2string                |          0        172          0         62          0      16335 |
serializer.rec.str.embedMap2string                 |          0        156          0         16          0      23537 |
serializer.rec.str.int2string                      |          0         79          0         16          0      35004 |
serializer.rec.str.link2string                     |          0        736          0        234          0      48076 |
serializer.rec.str.linkSet2string                  |          0       1094          0        141          6        161 |
serializer.rec.str.string2string                   |          0         63          0         16          0      56708 |
                                                   +-------------------------------------------------------------------+


for server I set a concurrent mark and sweep GC, helped to keep memory in reasonable usage, nevertheless the exception has occured :(
I am not super where to go..

Gabriel

Op woensdag 9 mei 2012 16:36:27 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 9, 2012, 12:18:53 PM5/9/12
to orient-...@googlegroups.com
Hi all,

as expected the most probable reason, the server runs out of memory:
Exception in thread "Timer-0" Exception in thread "OrientDB MemoryWatchDog" java
.lang.OutOfMemoryError: Java heap space
        at java.util.Formatter.parse(Formatter.java:2473)
        at java.util.Formatter.format(Formatter.java:2414)
        at java.util.Formatter.format(Formatter.java:2367)
        at java.lang.String.format(String.java:2769)
        at com.orientechnologies.common.log.OLogManager.log(OLogManager.java:43)

java.lang.OutOfMemoryError: Java heap space
        at java.util.HashMap.<init>(HashMap.java:187)
        at java.util.HashMap.<init>(HashMap.java:223)
        at com.orientechnologies.orient.server.OClientConnectionManager$1.run(OC
lientConnectionManager.java:53)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)


what could cause the problem?

my settings:
        OGlobalConfiguration.CACHE_LEVEL1_ENABLED.setValue(Boolean.FALSE);
        OGlobalConfiguration.CACHE_LEVEL2_ENABLED.setValue(Boolean.FALSE);
        OGlobalConfiguration.TX_LOG_SYNCH.setValue(Boolean.TRUE);
        OGlobalConfiguration.MVRBTREE_RID_NODE_SAVE_MEMORY.setValue(Boolean.TRUE);
        OGlobalConfiguration.NON_TX_RECORD_UPDATE_SYNCH.setValue(Boolean.TRUE);

Gabriel


Op woensdag 9 mei 2012 17:42:31 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 9, 2012, 12:35:21 PM5/9/12
to orient-...@googlegroups.com
No, event memory is ok, I got the excetion:
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error
 on saving record in cluster #9

no clue so far :(

Op woensdag 9 mei 2012 18:18:53 UTC+2 schreef Gabriel Vince het volgende:

Artem Orobets

unread,
May 9, 2012, 1:24:24 PM5/9/12
to orient-...@googlegroups.com
Hi Gabriel!

We think that it can happens because optimization runs too late.
Could you try patch from attachments? I've add new parameter (mvrbtree.memoryOptimizationThreshold) to configure memory threshold for index optimization. Value of this parameter was increased to 20 from default 10.
Could you also apply following GC configuration:
-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75

If it will not help, could you send memory dump and server logs 

To get memory dump, uncomment following line in startup script
set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError

Best regards,
Artem Orobets

2012/5/9 Gabriel Vince <gabrie...@apogado.com>
memory_optimization_parameter1.patch

Artem Orobets

unread,
May 9, 2012, 1:28:59 PM5/9/12
to orient-...@googlegroups.com
Ups, sorry, have mistake in previous patch

2012/5/9 Artem Orobets <eni...@gmail.com>
memory_optimization_parameter2.patch

Michael Widmann

unread,
May 9, 2012, 1:55:22 PM5/9/12
to orient-...@googlegroups.com
Hi

It seems that you can get rid of most of this problems with some
intresting Setting: DisableExplicitGC - We did that - and wonder why
- it works like a charm ...

But not sure your usecase - maybe only an hint for you ....

Michael
bayoda.com


2012/5/9 Artem Orobets <eni...@gmail.com>:
--
bayoda.com - Professional Online Backup Solutions for Small and Medium
Sized Companies

Gabriel Vince

unread,
May 9, 2012, 5:11:26 PM5/9/12
to orient-...@googlegroups.com
Hi Artem,

thanx a lot, will test it morning, i had enough for today

Gabriel

Op woensdag 9 mei 2012 19:28:59 UTC+2 schreef Artem Orobets het volgende:
Ups, sorry, have mistake in previous patch

2012/5/9 Artem Orobets
Hi Gabriel!

We think that it can happens because optimization runs too late.
Could you try patch from attachments? I've add new parameter (mvrbtree.memoryOptimizationThreshold) to configure memory threshold for index optimization. Value of this parameter was increased to 20 from default 10.
Could you also apply following GC configuration:
-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75

If it will not help, could you send memory dump and server logs 

To get memory dump, uncomment following line in startup script
set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError

Best regards,
Artem Orobets

2012/5/9 Gabriel Vince
No, event memory is ok, I got the excetion:



Op woensdag 9 mei 2012 19:28:59 UTC+2 schreef Artem Orobets het volgende:
Ups, sorry, have mistake in previous patch

2012/5/9 Artem Orobets
Hi Gabriel!

We think that it can happens because optimization runs too late.
Could you try patch from attachments? I've add new parameter (mvrbtree.memoryOptimizationThreshold) to configure memory threshold for index optimization. Value of this parameter was increased to 20 from default 10.
Could you also apply following GC configuration:
-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75

If it will not help, could you send memory dump and server logs 

To get memory dump, uncomment following line in startup script
set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError

Best regards,
Artem Orobets

2012/5/9 Gabriel Vince
No, event memory is ok, I got the excetion:

Gabriel Vince

unread,
May 10, 2012, 5:26:40 AM5/10/12
to orient-...@googlegroups.com
Hi all,

thanx for the tips, now memory is kept in reasonable numbers, never the less the exception stays

com.orientechnologies.orient.core.exception.ODatabaseException: Error on saving record in cluster #7
Caused by: java.lang.ArrayIndexOutOfBoundsException

my conclusion is, it has something to do with indexes, as when I remove the non-unique index (where maybe too many records may be havethe same value), the loading is sustainable and fast. I still didn't applied the Artem's patch, I will see how it behaves after that.

I will try to prepare better test case and see what it does.

Best regards
                 Gabriel

On Wednesday, May 9, 2012 7:55:22 PM UTC+2, bayoda wrote:
Hi

It seems that you can get rid of most of this problems  with some
intresting Setting:  DisableExplicitGC  - We did that - and wonder why
- it works like a charm ...

But not sure your usecase - maybe only an hint for you ....

Michael
bayoda.com


2012/5/9 Artem Orobets
> Ups, sorry, have mistake in previous patch
>
> 2012/5/9 Artem Orobets
>>
>> Hi Gabriel!
>>
>> We think that it can happens because optimization runs too late.
>> Could you try patch from attachments? I've add new parameter
>> (mvrbtree.memoryOptimizationThreshold) to configure memory threshold for
>> index optimization. Value of this parameter was increased to 20 from default
>> 10.
>> Could you also apply following GC configuration:
>> -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75
>>
>> If it will not help, could you send memory dump and server logs
>>
>> To get memory dump, uncomment following line in startup script
>> set JAVA_OPTS_SCRIPT=-XX:+HeapDumpOnOutOfMemoryError
>>
>> Best regards,
>> Artem Orobets
>>
>> 2012/5/9 Gabriel Vince
>>>

Gabriel Vince

unread,
May 10, 2012, 12:32:08 PM5/10/12
to orient-...@googlegroups.com
Hi,

update:
the exception comes from ODatabaseRecordAbstract:678 , but it's an ArrayIndexOutOfBoundsException, which has a cause the  self reference and no stacktrace :( Seems another method caused the exception and I have no default means to find out which one :( a little bit of server side logging wouldn't kill anybody :(

never mind - as far I've mentioned that without indexes defined it works well (ok.. seems to work well), could anybody point me where the indexes are updated in the method

Thanks for help 
 
Best regards 
                 Gabriel

Gabriel Vince

unread,
May 11, 2012, 4:30:15 AM5/11/12
to orient-...@googlegroups.com
Hi all,

I let the server to log al ittle bit more, so seems the index is corrupted or  something's wrong with it. Could anyone help me to resolve or at least point where the problem could be?

Thanks a lot:

here comes the ArrayIndexOutOfBoundsException (-1) from:
-> com.orientechnologies.orient.core.serialization.OBinaryProtocol.bytes2int(OBinaryProtocol.java:334)
-> com.orientechnologies.orient.core.serialization.OMemoryStream.getAsByteArray(OMemoryStream.java:345)
-> com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeMapEntryProvider.valueFromStream(OMVRBTreeMapEntryProvider.java:535)
-> com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeMapEntryProvider.getValueAt(OMVRBTreeMapEntryProvider.java:90)
-> com.orientechnologies.orient.core.type.tree.OMVRBTreeEntryPersistent.getValueAt(OMVRBTreeEntryPersistent.java:531)
-> com.orientechnologies.common.collection.OMVRBTreeEntry.binarySearch(OMVRBTreeEntry.java:257)
-> com.orientechnologies.common.collection.OMVRBTreeEntry.search(OMVRBTreeEntry.java:196)
-> com.orientechnologies.common.collection.OMVRBTree.getEntry(OMVRBTree.java:451)
-> com.orientechnologies.common.collection.OMVRBTree.getEntry(OMVRBTree.java:348)
-> com.orientechnologies.common.collection.OMVRBTree.get(OMVRBTree.java:273)
-> com.orientechnologies.orient.core.type.tree.OMVRBTreePersistent.get(OMVRBTreePersistent.java:601)
-> com.orientechnologies.orient.core.index.OIndexMultiValues.put(OIndexMultiValues.java:71)
-> com.orientechnologies.orient.core.index.OIndexMultiValues.put(OIndexMultiValues.java:42)
-> com.orientechnologies.orient.core.tx.OTransactionNoTx.addIndexEntry(OTransactionNoTx.java:156)
-> com.orientechnologies.orient.core.index.OIndexTxAware.put(OIndexTxAware.java:77)
-> com.orientechnologies.orient.core.index.OIndexTxAware.put(OIndexTxAware.java:36)
-> com.orientechnologies.orient.core.index.OClassIndexManager.onRecordAfterCreate(OClassIndexManager.java:67)
-> com.orientechnologies.orient.core.hook.ODocumentHookAbstract.onTrigger(ODocumentHookAbstract.java:122)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.callbackHooks(ODatabaseRecordAbstract.java:825)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:670)
-> com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:68)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:218)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:201)
-> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:33)
-> com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.save(ODatabaseRecordWrapperAbstract.java:229)
-> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:151)
-> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:100)
-> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:34)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.createRecord(OBinaryNetworkProtocolAbstract.java:354)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.createRecord(ONetworkProtocolBinary.java:1035)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:237)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:124)
-> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:43)




Op donderdag 10 mei 2012 18:32:08 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 11, 2012, 4:41:39 AM5/11/12
to orient-...@googlegroups.com
just a note:

I see - OIndexMultiValues.put:71 - gets a set of identifiers and add the inserted value to the set. The problem is, that the set may be very long in my case..  thinking,, if a more coarse-grained composite index wouldn't help.. but I believe this issue have to be solved anyway..

Gabriel

Op vrijdag 11 mei 2012 10:30:15 UTC+2 schreef Gabriel Vince het volgende:

Andrey Lomakin

unread,
May 11, 2012, 4:44:17 AM5/11/12
to orient-...@googlegroups.com
Hi, Gabriel.
Is it correct that you create DB from scratch, fill it using code above and got ArrayIndexOutOfBoundsException  ?
--
With best regards,
Andrey Lomakin | Senior Developer |
Exigen Services | 3-A Artema St. | Dnepropetrovsk | 49000 Ukraine |
| Skype: lomakin_andrey |
Cell: +3.8067.636.9896

http://www.exigenservices.com/

Gabriel Vince

unread,
May 11, 2012, 5:04:59 AM5/11/12
to orient-...@googlegroups.com
Hi Andrey,

indeed it is :( I create a clean database and then we try to fill the data. Moving parameters (rid treshold or nodes per page) will only make the exception appear sooner or later, but still - to get an index record will cause the exception above. Now I'm trying to figure out why the index data are not complete or array index is wrong (I assume so).

The problem is that I cannot disclose the code and I'm still trying to figure out a suplementary test case for the problem repeatability.

thanx for interest :)
 
Gabriel

For smaller datasets it's working very nicely, but we finally received a real-world data set.  We use the remote server as we are planning to go to cloud (NuvolaBase probably if our pilot app will go alive).


Op vrijdag 11 mei 2012 10:44:17 UTC+2 schreef Andrey het volgende:
Hi, Gabriel.
Is it correct that you create DB from scratch, fill it using code above and got ArrayIndexOutOfBoundsException  ?

Gabriel Vince

unread,
May 11, 2012, 5:07:10 AM5/11/12
to orient-...@googlegroups.com
oh, one more info - the code above now works - using UseConcMarkSweepGC and mvrbtree.ridBinaryThreshold=20 .. but the real dataset is MUCH larger :(

Op vrijdag 11 mei 2012 11:04:59 UTC+2 schreef Gabriel Vince het volgende:

Andrey Lomakin

unread,
May 11, 2012, 5:10:55 AM5/11/12
to orient-...@googlegroups.com
Could you create issue then, we will look on it.

Gabriel Vince

unread,
May 11, 2012, 5:16:42 AM5/11/12
to orient-...@googlegroups.com
I will prepare a working test case.. thanx a lot :)

Gabriel

Op vrijdag 11 mei 2012 11:10:55 UTC+2 schreef Andrey het volgende:
Could you create issue then, we will look on it.

Gabriel Vince

unread,
May 11, 2012, 10:22:29 AM5/11/12
to orient-...@googlegroups.com
Hi Andrey (or anybody capable),

sorry it took a time, but I failed to create a specific test scenario, so I've captured our live data and prepared a data loader. Unfortunatelly I am not aware what's reading the MVRB tree serializer, so it would take me long to to find it by myself..

Additional findings:
The exception occurs from
ODatabaseRecordAbstract.executeRecordAbstract
....
OMVBRTreeMapProvider.valueFromStream:535 - where serializedValues[iIndex] returns -1 and then stream.getAsByteArray throws an ArrayIndexOutOfBoundsException

Issue 827 created.

Thanks for any help
                  Gabriel


Op vrijdag 11 mei 2012 11:10:55 UTC+2 schreef Andrey het volgende:
Could you create issue then, we will look on it.

Gabriel Vince

unread,
May 11, 2012, 12:27:09 PM5/11/12
to orient-...@googlegroups.com
As mentioned in the issue:
maybe I found the problem, event a little workaround, but not yet complete solution :(

I set mvrbtree.lazyUpdates = 1
there are two consequences
  1. I see excessive disk operations (mostly writes, but expected), the system looks much slower, but it is the speed the disk permits
  2. my task to load data goes on (I am not sure if it won't drop another exception, 5 more hours of loading are expected).
Anyway I'd consder lazy writes of indexes as an very important feature, it makes the system much more performant inserting indexed data..

Gabriel

Op vrijdag 11 mei 2012 16:22:29 UTC+2 schreef Gabriel Vince het volgende:
Op vrijdag 11 mei 2012 16:22:29 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 11, 2012, 12:44:32 PM5/11/12
to orient-...@googlegroups.com
just a consideration - maybe nonTX.recordUpdate.synch = true could be enough, will test it aafter loading finish..

Op vrijdag 11 mei 2012 18:27:09 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 12, 2012, 3:07:12 PM5/12/12
to orient-...@googlegroups.com
hi all

workaround - both options needs to be set to make the application work, but these options make the database loading SLOW :(
 - set mvrbtree.lazyUpdates = 1
 - nonTX.recordUpdate.synch = true

Gabriel

Gabriel Vince

unread,
May 12, 2012, 7:11:57 PM5/12/12
to orient-...@googlegroups.com
Hi,

I tried to load the data in transaction, but receiving another exception (sorry, not test case yet): This is only for information - I believe we need to solve the first issue fisrt..

OrientDB 1.0-SNAPSHOT (build UNKNOWN_BRANCH@r??????; 2012-05-07 10:25:31+0200)
onfiguration dump:
- ENVIRONMENT
  + environment.dumpCfgAtStartup = true
  + environment.concurrent = true
- MEMORY
  + memory.optimizeThreshold = 0.7
- STORAGE
  + storage.keepOpen = true
  + storage.record.lockTimeout = 5000
- CACHE
  + cache.level1.enabled = false
  + cache.level1.size = -1
  + cache.level2.enabled = false
  + cache.level2.size = -1
  + cache.level2.impl = com.orientechnologies.orient.core.cache.ODefaultCache
  + cache.level2.strategy = 0
- OBJECT
  + object.saveOnlyDirty = false
- DB
  + db.mvcc = false
  + db.validation = true
- NONTX
  + nonTX.recordUpdate.synch = true
- TX
  + tx.useLog = true
  + tx.log.fileType = classic
  + tx.log.synch = true
  + tx.commit.synch = true
- BLUEPRINTS
  + blueprints.graph.txMode = 0
- MVRBTREE
  + mvrbtree.timeout = 5000
  + mvrbtree.lazyUpdates = 1
  + mvrbtree.nodePageSize = 256
  + mvrbtree.loadFactor = 0.7
  + mvrbtree.optimizeThreshold = 100000
  + mvrbtree.entryPoints = 64
  + mvrbtree.optimizeEntryPointsFactor = 1.0
  + mvrbtree.memoryOptimizationThreshold = 20
  + mvrbtree.entryKeysInMemory = false
  + mvrbtree.entryValuesInMemory = false
  + mvrbtree.ridBinaryThreshold = 20
  + mvrbtree.ridNodePageSize = 16
  + mvrbtree.ridNodeSaveMemory = true
- LAZYSET
  + lazyset.workOnStream = true
- FILE
  + file.lock = true
  + file.defrag.strategy = 0
  + file.defrag.holeMaxDistance = 32768
  + file.mmap.strategy = 0
  + file.mmap.blockSize = 1048576
  + file.mmap.bufferSize = 8192
  + file.mmap.maxMemory = 134217728
  + file.mmap.overlapStrategy = 2
  + file.mmap.forceDelay = 10
  + file.mmap.forceRetry = 50
- NETWORK
  + network.socketBufferSize = 32768
  + network.lockTimeout = 15000
  + network.socketTimeout = 10000
  + network.retry = 5
  + network.retryDelay = 500
  + network.binary.loadBalancing.enabled = false
  + network.binary.loadBalancing.timeout = 2000
  + network.binary.maxLength = 32736
  + network.binary.readResponse.maxTimes = 10
  + network.binary.debug = false
  + network.http.maxLength = 100000
  + network.http.charset = utf-8
  + network.http.sessionExpireTimeout = 300
- PROFILER
  + profiler.enabled = false
  + profiler.autoDump.interval = 0
  + profiler.autoDump.reset = true
- LOG
  + log.console.level = info
  + log.file.level = fine
- CLIENT
  + client.channel.minPool = 1
  + client.channel.maxPool = 5
- SERVER
  + server.channel.cleanDelay = 5000
  + server.cache.staticFile = false
  + server.log.dumpClientExceptionLevel = FINE
  + server.log.dumpClientExceptionFullStackTrace = false
- DISTRIBUTED
  + distributed.async.timeDelay = 0
  + distributed.sync.maxRecordsBuffer = 100
  + distributed.log.fileType = classic
  + distributed.log.synch = false
  + distributed.align.recordBlock = 200


OrientDB profiler dump of Sun May 13 00:59:25 CEST 2012 after 23 secs of profiling

Free memory: 400.95Mb (75.15%) - Total memory: 132.58Mb - Max memory: 533.53Mb - CPUs: 2

DUMPING COUNTERS (last reset on: Sun May 13 00:54:41 CEST 2012)...
                                                   +-------------------------------------------------------------------+
                                              Name | Value                                                             |
                                                   +-------------------------------------------------------------------+
OMVRBTreeMapEntry.unserializeKey                   | 4                                                                 |
                                                   +-------------------------------------------------------------------+



DUMPING CHRONOS (last reset on: Sun May 13 00:54:41 CEST 2012). Times in ms...

                                                   +-------------------------------------------------------------------+
                                              Name |       last      total        min        max    average      items |
                                                   +-------------------------------------------------------------------+
OMVRBTreeMapEntry.fromStream                       |          0          0          0          0          0          4 |
OMVRBTreeMapProvider.fromStream                    |          0          0          0          0          0          4 |
OMVRBTreePersistent.commitChanges                  |          0          0          0          0          0         17 |
OMVRBTreePersistent.putAll                         |          0          0          0          0          0          3 |
OMVRBTreePersistent.unload                         |         15      11017          0      11002       2203          5 |
OMVRBTreeRIDProvider.toStream                      |         15         15         15         15         15          1 |
OMetadata.load                                     |          0          0          0          0          0          1 |
ORecordSerializerStringAbstract.fromStream         |          0       3610          0         63          0      12981 |
ORecordSerializerStringAbstract.toStream           |      11971      12362          0      11971         15        814 |
serializer.rec.str.embedList2string                |          0          0          0          0          0        191 |
serializer.rec.str.embedMap2string                 |          0         16          0         16          0        352 |
serializer.rec.str.int2string                      |          0          0          0          0          0        388 |
serializer.rec.str.link2string                     |          0          0          0          0          0        696 |
serializer.rec.str.linkSet2string                  |         15         15         15         15         15          1 |
serializer.rec.str.string2string                   |          0         16          0         16          0        976 |
                                                   +-------------------------------------------------------------------+
com.orientechnologies.orient.core.exception.ORecordNotFoundException: The record with id '#1:1' not found
    at com.orientechnologies.orient.core.record.ORecordAbstract.reload(ORecordAbstract.java:258)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordAbstract.reload(ORecordAbstract.java:243)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordAbstract.reload(ORecordAbstract.java:239)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordAbstract.reload(ORecordAbstract.java:33)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeProviderAbstract.load(OMVRBTreeProviderAbstract.java:142)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeMapProvider.load(OMVRBTreeMapProvider.java:76)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeProviderAbstract.load(OMVRBTreeProviderAbstract.java:134)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.OMVRBTreePersistent.load(OMVRBTreePersistent.java:99)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.OMVRBTreePersistent.unload(OMVRBTreePersistent.java:236)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.index.OIndexMVRBTreeAbstract.onAfterTxRollback(OIndexMVRBTreeAbstract.java:765)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.commit(ODatabaseRecordTx.java:125)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:313)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.stedatastore.DataStoreImpl.storeDocumentWithEdgesAsDocument(DataStoreImpl.java:768)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.stedatastore.ApplicationAdministration.storeDocumentWithEdges(ApplicationAdministration.java:103)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.steservices.tasks.RelearnTask.parseDocuments(RelearnTask.java:185)[1122:com.apogado.ste.services:0.1.0]
    at com.apogado.ste.steservices.tasks.RelearnTask.run(RelearnTask.java:67)[1122:com.apogado.ste.services:0.1.0]
    at java.lang.Thread.run(Thread.java:662)[:1.6.0_29]


00:59:25,906 | ERROR | Thread-44        | te.steservices.tasks.RelearnTask   98 |  -  -  | relearning data
java.lang.RuntimeException: com.orientechnologies.orient.core.exception.OTransactionException: Error on transaction commit
    at com.apogado.ste.stedatastore.ApplicationAdministration.storeDocumentWithEdges(ApplicationAdministration.java:114)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.steservices.tasks.RelearnTask.parseDocuments(RelearnTask.java:185)[1122:com.apogado.ste.services:0.1.0]
    at com.apogado.ste.steservices.tasks.RelearnTask.run(RelearnTask.java:67)[1122:com.apogado.ste.services:0.1.0]
    at java.lang.Thread.run(Thread.java:662)[:1.6.0_29]
Caused by: com.orientechnologies.orient.core.exception.OTransactionException: Error on transaction commit
    at com.orientechnologies.orient.client.remote.OStorageRemote.commitEntry(OStorageRemote.java:1543)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.commit(OStorageRemote.java:806)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemoteThread.commit(OStorageRemoteThread.java:196)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:58)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.commit(ODatabaseRecordTx.java:111)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:313)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.stedatastore.DataStoreImpl.storeDocumentWithEdgesAsDocument(DataStoreImpl.java:768)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.stedatastore.ApplicationAdministration.storeDocumentWithEdges(ApplicationAdministration.java:103)[1123:com.apogado.ste.datastore:0.1.0]
    ... 3 more
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #10:13 (cluster: topicaledge)
    at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:225)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java:567)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:168)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:191)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:34)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORecordId.java:286)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.validateField(ORecordSchemaAwareAbstract.java:183)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.validate(ORecordSchemaAwareAbstract.java:66)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1240)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1230)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:69)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:364)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:112)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:172)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:407)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:324)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:242)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:80)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:116)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:111)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.commitEntry(OStorageRemote.java:1537)[1123:com.apogado.ste.datastore:0.1.0]
    ... 10 more
Caused by: com.orientechnologies.common.io.OIOException: Received unread response from localhost/127.0.0.1:2424 for session=13238281, probably corrupted data from the network connection. Cleared dirty data in the buffer (4167 bytes): [ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-û- -    - - - - - - - -.- -    -ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ó- -    - - - - - - - -0- -    -ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-÷- -    - ...]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.6.0_29]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)[:1.6.0_29]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[:1.6.0_29]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)[:1.6.0_29]
    at com.orientechnologies.common.log.OLogManager.error(OLogManager.java:133)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:124)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:61)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1486)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.readRecord(OStorageRemote.java:391)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemoteThread.readRecord(OStorageRemoteThread.java:145)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:219)[1123:com.apogado.ste.datastore:0.1.0]
    ... 30 more
00:59:25,937 | ERROR | Thread-44        | r.server.NIOServerCnxn$Factory$1   81 | 170 - org.apache.hadoop.zookeeper - 3.3.3 | Thread Thread[Thread-44,5,main] died
java.lang.RuntimeException: java.lang.RuntimeException: com.orientechnologies.orient.core.exception.OTransactionException: Error on transaction commit
    at com.apogado.ste.steservices.tasks.RelearnTask.run(RelearnTask.java:99)[1122:com.apogado.ste.services:0.1.0]
    at java.lang.Thread.run(Thread.java:662)[:1.6.0_29]
Caused by: java.lang.RuntimeException: com.orientechnologies.orient.core.exception.OTransactionException: Error on transaction commit
    at com.apogado.ste.stedatastore.ApplicationAdministration.storeDocumentWithEdges(ApplicationAdministration.java:114)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.steservices.tasks.RelearnTask.parseDocuments(RelearnTask.java:185)[1122:com.apogado.ste.services:0.1.0]
    at com.apogado.ste.steservices.tasks.RelearnTask.run(RelearnTask.java:67)[1122:com.apogado.ste.services:0.1.0]
    ... 1 more
Caused by: com.orientechnologies.orient.core.exception.OTransactionException: Error on transaction commit
    at com.orientechnologies.orient.client.remote.OStorageRemote.commitEntry(OStorageRemote.java:1543)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.commit(OStorageRemote.java:806)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemoteThread.commit(OStorageRemoteThread.java:196)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:58)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.commit(ODatabaseRecordTx.java:111)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:313)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.stedatastore.DataStoreImpl.storeDocumentWithEdgesAsDocument(DataStoreImpl.java:768)[1123:com.apogado.ste.datastore:0.1.0]
    at com.apogado.ste.stedatastore.ApplicationAdministration.storeDocumentWithEdges(ApplicationAdministration.java:103)[1123:com.apogado.ste.datastore:0.1.0]
    ... 3 more
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #10:13 (cluster: topicaledge)
    at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:225)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java:567)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:168)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:191)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:34)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORecordId.java:286)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.validateField(ORecordSchemaAwareAbstract.java:183)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.validate(ORecordSchemaAwareAbstract.java:66)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1240)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1230)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:69)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:364)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:112)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:172)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:407)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:324)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:242)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:80)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:116)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:111)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.commitEntry(OStorageRemote.java:1537)[1123:com.apogado.ste.datastore:0.1.0]
    ... 10 more
Caused by: com.orientechnologies.common.io.OIOException: Received unread response from localhost/127.0.0.1:2424 for session=13238281, probably corrupted data from the network connection. Cleared dirty data in the buffer (4167 bytes): [ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-û- -    - - - - - - - -.- -    -ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ó- -    - - - - - - - -0- -    -ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-ÿ-÷- -    - ...]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.6.0_29]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)[:1.6.0_29]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[:1.6.0_29]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)[:1.6.0_29]
    at com.orientechnologies.common.log.OLogManager.error(OLogManager.java:133)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:124)[1123:com.apogado.ste.datastore:0.1.0]

    at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:61)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1486)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemote.readRecord(OStorageRemote.java:391)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.client.remote.OStorageRemoteThread.readRecord(OStorageRemoteThread.java:145)[1123:com.apogado.ste.datastore:0.1.0]
    at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:219)[1123:com.apogado.ste.datastore:0.1.0]
    ... 30 more




Op zaterdag 12 mei 2012 21:07:12 UTC+2 schreef Gabriel Vince het volgende:

Gabriel Vince

unread,
May 13, 2012, 12:02:37 PM5/13/12
to orient-...@googlegroups.com
no, the workaround does not work, the exception appears, only later :(


Op zaterdag 12 mei 2012 21:07:12 UTC+2 schreef Gabriel Vince het volgende:

Artem Orobets

unread,
May 13, 2012, 1:20:47 PM5/13/12
to orient-...@googlegroups.com
Hi Gabriel!

We have fixed your problem and will commit the patch in one hour. 
Could you provide test case for second issue?

Best regards,
Artem and Andrey

2012/5/13 Gabriel Vince <gabrie...@apogado.com>

Artem Orobets

unread,
May 13, 2012, 2:09:22 PM5/13/12
to orient-...@googlegroups.com
Hi Gabriel!

Fixed at r5571

Best regards,
Artem and Andrey

2012/5/13 Artem Orobets <eni...@gmail.com>

Gabriel Vince

unread,
May 14, 2012, 7:20:52 AM5/14/12
to orient-...@googlegroups.com
Hi guys,

so far it seems to work, good job, thankx a lot.
well - if the few hour of loading will finish, I will try to find out where the problem exactly manifests and prepare a test case for you.. I believe that makes a life nicer of you already now where to look for..

Gabriel


Op zondag 13 mei 2012 20:09:22 UTC+2 schreef Artem Orobets het volgende:
Hi Gabriel!

Fixed at r5571

Best regards,
Artem and Andrey

2012/5/13 Artem Orobets
Hi Gabriel!
Reply all
Reply to author
Forward
0 new messages