Thank you Luigi, for looking at it. I filed this one:
https://github.com/orientechnologies/orientdb/issues/8537.

Simon

Am Fr., 14. Sep. 2018 um 10:56 Uhr schrieb Luigi Dell'Aquila <
[email protected]>:

> Hi Simon,
>
> Ok, so it must be a bug. Could you please file an issue here
> https://github.com/orientechnologies/orientdb/issues
>
> Thanks
>
> Luigi
>
> Il giorno ven 14 set 2018 alle ore 09:28 'Simon Erhardt' via OrientDB <
> [email protected]> ha scritto:
>
>> Hi Luigi,
>>
>> yes, although we use the remote protocol, client and server are run in
>> the same process. Our classpath contains the following libraries:
>>
>> orientdb-client-2.2.34.jar
>> orientdb-core-2.2.34.jar
>> orientdb-graphdb-2.2.34.jar
>> orientdb-server-2.2.34.jar
>> orientdb-tools-2.2.34.jar
>>
>> Simon
>>
>> Am Fr., 14. Sep. 2018 um 07:47 Uhr schrieb Luigi Dell'Aquila <
>> [email protected]>:
>>
>>> Hi Simon,
>>>
>>> Are you using the exact same OrientDB version on both the client and the
>>> server?
>>>
>>> Thanks
>>>
>>> Luigi
>>>
>>> Il giorno gio 13 set 2018 alle ore 14:16 'Simon Erhardt' via OrientDB <
>>> [email protected]> ha scritto:
>>>
>>>> Hello community,
>>>>
>>>> we are using OrientDB in our product, and since the update from version
>>>> 2.1.15 to version 2.2.34, we have the problem described below, which occurs
>>>> sporadically.
>>>> Is there anything we can do to mitigate it or to identify the actual
>>>> error source?
>>>> We are grateful for every kind of help.
>>>>
>>>> - Simon
>>>>
>>>> *OrientDB release?*
>>>> 2.2.34
>>>>
>>>> *What steps will reproduce the problem?*
>>>> Unknown - our attempts to reproduce the problem have been very
>>>> unsatisfying yet. Nonetheless, the problem occurs again and again (without
>>>> a recognizable pattern), in different runtime environments of different
>>>> customers, and in different situations. It seems to happen in random
>>>> situations when the database is accessed. It happens that one query is
>>>> successful, and the next one fails (with the error below), and then every
>>>> subsequent query also fails.
>>>>
>>>> Symptoms:
>>>> An InvalidClassException occurs sometimes when querying the database:
>>>> Caused by: com.orientechnologies.common.io.OIOException: com.o;
>>>> serializable and externalizable flags conflict
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.handleIOException(OStorageRemote.java:321)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.baseNetworkOperation(OStorageRemote.java:292)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.networkOperationRetry(OStorageRemote.java:204)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.networkOperation(OStorageRemote.java:215)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.command(OStorageRemote.java:1187)
>>>> at
>>>> com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
>>>> at
>>>> com.tinkerpop.blueprints.impls.orient.OrientGraphCommand.execute(OrientGraphCommand.java:49)
>>>> at com.mycompany.BaseDAOImpl.query(OrientConnection.java:188)
>>>> ... 13 common frames omitted
>>>> Caused by: java.io.InvalidClassException: com.o; serializable and
>>>> externalizable flags conflict
>>>> at java.base/java.io.ObjectStreamClass.readNonProxy(Unknown Source)
>>>> at java.base/java.io.ObjectInputStream.readClassDescriptor(Unknown
>>>> Source)
>>>> at java.base/java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
>>>> at java.base/java.io.ObjectInputStream.readClassDesc(Unknown Source)
>>>> at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown
>>>> Source)
>>>> at java.base/java.io.ObjectInputStream.readObject0(Unknown Source)
>>>> at java.base/java.io.ObjectInputStream.readObject(Unknown Source)
>>>> at
>>>> com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:436)
>>>> at
>>>> com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:400)
>>>> at
>>>> com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:283)
>>>> at
>>>> com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:167)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:2365)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote$27.execute(OStorageRemote.java:1211)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote$2.execute(OStorageRemote.java:207)
>>>> at
>>>> com.orientechnologies.orient.client.remote.OStorageRemote.baseNetworkOperation(OStorageRemote.java:252)
>>>> ... 19 common frames omitted
>>>>
>>>> The *BaseDAOImpl.query* looks like:
>>>> public Iterable<Vertex> query(String query, Object... params) throws
>>>> PersistenceException {
>>>> OrientBaseGraph graph = OrientGraph.getActiveGraph();
>>>> try {
>>>> OCommandSQL command = new OCommandSQL(query);
>>>> graph.clearCache();
>>>> return graph.command(command).execute(params);
>>>> } catch (Exception e) {
>>>> throw new PersistenceException("Query triggered an exception", e);
>>>> }
>>>> }
>>>>
>>>> It is called in the following context:
>>>> OrientGraphFactory factory = new
>>>> OrientGraphFactory("remote:localhost/mydb", user, password).setupPool(10,
>>>> 50);
>>>> setRequireTransaction(true);
>>>> setAutoStartTx(false);
>>>> OrientGraph db = factory.getTx();
>>>> ...
>>>> baseDAO.query("select from MyClass");
>>>> ...
>>>> db.shutdown();
>>>>
>>>>
>>>> *If you're using custom settings please provide them below (to dump all
>>>> the settings run the application using the JVM
>>>> argument -Denvironment.dumpCfgAtStartup=true):*
>>>> OrientDB 2.2.34 (build f340442755a31eabc91b87cb3ef99eda5cee6ebd, branch
>>>> 2.2.x) configuration dump:
>>>> - ENVIRONMENT
>>>>   + environment.dumpCfgAtStartup = true
>>>>   + environment.concurrent = true
>>>>   + environment.lockManager.concurrency.level = 64
>>>>   + environment.allowJVMShutdown = true
>>>> - SCRIPT
>>>>   + script.pool.maxSize = 20
>>>> - MEMORY
>>>>   + memory.useUnsafe = true
>>>>   + memory.chunk.size = 2147483647
>>>>   + memory.directMemory.safeMode = true
>>>>   + memory.directMemory.trackMode = false
>>>>   + memory.directMemory.onlyAlignedMemoryAccess = true
>>>> - JVM
>>>>   + jvm.gc.delayForOptimize = 600
>>>> - STORAGE
>>>>   + storage.openFiles.limit = 512
>>>>   + storage.componentsLock.cache = 10000
>>>>   + storage.diskCache.pinnedPages = 20
>>>>   + storage.diskCache.bufferSize = 4054
>>>>   + storage.diskCache.writeCachePart = 15
>>>>   + storage.diskCache.writeCachePageTTL = 86400
>>>>   + storage.diskCache.writeCachePageFlushInterval = 25
>>>>   + storage.diskCache.writeCacheFlushInactivityInterval = 60000
>>>>   + storage.diskCache.writeCacheFlushLockTimeout = -1
>>>>   + storage.diskCache.diskFreeSpaceCheckInterval = 5
>>>>   + storage.diskCache.diskFreeSpaceCheckIntervalInPages = 2048
>>>>   + storage.diskCache.keepState = true
>>>>   + storage.diskCache.checksumMode = StoreAndSwitchReadOnlyMode
>>>>   + storage.configuration.syncOnUpdate = true
>>>>   + storage.compressionMethod = nothing
>>>>   + storage.encryptionMethod = nothing
>>>>   + storage.encryptionKey = <hidden>
>>>>   + storage.makeFullCheckpointAfterCreate = false
>>>>   + storage.makeFullCheckpointAfterOpen = false
>>>>   + storage.makeFullCheckpointAfterClusterCreate = true
>>>>   + storage.trackChangedRecordsInWAL = false
>>>>   + storage.useWAL = true
>>>>   + storage.wal.syncOnPageFlush = true
>>>>   + storage.wal.cacheSize = 3000
>>>>   + storage.wal.fileAutoCloseInterval = 10
>>>>   + storage.wal.maxSegmentSize = 128
>>>>   + storage.wal.maxSize = 4096
>>>>   + storage.wal.commitTimeout = 1000
>>>>   + storage.wal.shutdownTimeout = 10000
>>>>   + storage.wal.fuzzyCheckpointInterval = 300
>>>>   + storage.wal.reportAfterOperationsDuringRestore = 10000
>>>>   + storage.wal.restore.batchSize = 50000
>>>>   + storage.wal.readCacheSize = 1000
>>>>   + storage.wal.fuzzyCheckpointShutdownWait = 600
>>>>   + storage.wal.fullCheckpointShutdownTimeout = 600
>>>>   + storage.wal.path = null
>>>>   + storage.diskCache.pageSize = 64
>>>>   + storage.diskCache.diskFreeSpaceLimit = 256
>>>>   + storage.lowestFreeListBound = 16
>>>>   + storage.lockTimeout = 0
>>>>   + storage.record.lockTimeout = 2000
>>>>   + storage.useTombstones = false
>>>> - RECORD
>>>>   + record.downsizing.enabled = true
>>>> - OBJECT
>>>>   + object.saveOnlyDirty = false
>>>> - DB
>>>>   + db.pool.min = 50
>>>>   + db.pool.max = 100
>>>>   + db.pool.idleTimeout = 0
>>>>   + db.pool.idleCheckDelay = 0
>>>>   + db.mvcc.throwfast = false
>>>>   + db.validation = true
>>>> - NONTX
>>>>   + nonTX.recordUpdate.synch = false
>>>>   + nonTX.clusters.sync.immediately = manindex
>>>> - TX
>>>>   + tx.trackAtomicOperations = false
>>>>   + tx.pageCacheSize = 12
>>>> - INDEX
>>>>   + index.embeddedToSbtreeBonsaiThreshold = 40
>>>>   + index.sbtreeBonsaiToEmbeddedThreshold = -1
>>>> - HASHTABLE
>>>>   + hashTable.slitBucketsBuffer.length = 1500
>>>> - INDEX
>>>>   + index.auto.synchronousAutoRebuild = true
>>>>   + index.auto.lazyUpdates = 10000
>>>>   + index.flushAfterCreate = true
>>>>   + index.manual.lazyUpdates = 1
>>>>   + index.durableInNonTxMode = true
>>>>   + index.ignoreNullValuesDefault = false
>>>>   + index.txMode = FULL
>>>>   + index.cursor.prefetchSize = 10000
>>>> - SBTREE
>>>>   + sbtree.maxDepth = 64
>>>>   + sbtree.maxKeySize = 10240
>>>>   + sbtree.maxEmbeddedValueSize = 40960
>>>> - SBTREEBONSAI
>>>>   + sbtreebonsai.bucketSize = 2
>>>>   + sbtreebonsai.linkBagCache.size = 100000
>>>>   + sbtreebonsai.linkBagCache.evictionSize = 1000
>>>>   + sbtreebonsai.freeSpaceReuseTrigger = 0.5
>>>> - RIDBAG
>>>>   + ridBag.embeddedDefaultSize = 4
>>>>   + ridBag.embeddedToSbtreeBonsaiThreshold = 40
>>>>   + ridBag.sbtreeBonsaiToEmbeddedToThreshold = -1
>>>> - COLLECTIONS
>>>>   + collections.preferSBTreeSet = false
>>>> - FILE
>>>>   + file.trackFileClose = false
>>>>   + file.lock = true
>>>>   + file.deleteDelay = 10
>>>>   + file.deleteRetry = 50
>>>> - SECURITY
>>>>   + security.userPasswordSaltIterations = 65536
>>>>   + security.userPasswordSaltCacheSize = 500
>>>>   + security.userPasswordDefaultAlgorithm = PBKDF2WithHmacSHA256
>>>> - NETWORK
>>>>   + network.maxConcurrentSessions = 1000
>>>>   + network.socketBufferSize = 0
>>>>   + network.lockTimeout = 15000
>>>>   + network.socketTimeout = 15000
>>>>   + network.requestTimeout = 3600000
>>>>   + network.retry.strategy = auto
>>>>   + network.retry = 5
>>>>   + network.retryDelay = 500
>>>>   + network.binary.loadBalancing.enabled = false
>>>>   + network.binary.loadBalancing.timeout = 2000
>>>>   + network.binary.maxLength = 16384
>>>>   + network.binary.readResponse.maxTimes = 20
>>>>   + network.binary.debug = false
>>>>   + network.http.installDefaultCommands = true
>>>>   + network.http.serverInfo = OrientDB Server v.2.2.34 (build
>>>> f340442755a31eabc91b87cb3ef99eda5cee6ebd, branch 2.2.x)
>>>>   + network.http.maxLength = 1000000
>>>>   + network.http.streaming = false
>>>>   + network.http.charset = utf-8
>>>>   + network.http.jsonResponseError = true
>>>>   + network.http.jsonp = false
>>>>   + network.http.sessionExpireTimeout = 300
>>>>   + network.http.useToken = false
>>>>   + network.token.secretKey =
>>>>   + network.token.encryptionAlgorithm = HmacSHA256
>>>>   + network.token.expireTimeout = 60
>>>> - PROFILER
>>>>   + profiler.enabled = false
>>>>   + profiler.config = null
>>>>   + profiler.autoDump.interval = 0
>>>>   + profiler.autoDump.type = full
>>>>   + profiler.maxValues = 200
>>>>   + profiler.memoryCheckInterval = 120000
>>>> - SEQUENCE
>>>>   + sequence.maxRetry = 100
>>>>   + sequence.retryDelay = 200
>>>> - STORAGEPROFILER
>>>>   + storageProfiler.intervalBetweenSnapshots = 100
>>>>   + storageProfiler.cleanUpInterval = 5000
>>>> - LOG
>>>>   + log.console.level = info
>>>>   + log.file.level = fine
>>>> - CLASS
>>>>   + class.minimumClusters = 0
>>>> - LOG
>>>>   + log.console.ansi = auto
>>>> - CACHE
>>>>   + cache.local.impl =
>>>> com.orientechnologies.orient.core.cache.ORecordCacheWeakRefs
>>>> - COMMAND
>>>>   + command.timeout = 0
>>>>   + command.cache.enabled = false
>>>>   + command.cache.evictStrategy = PER_CLUSTER
>>>>   + command.cache.minExecutionTime = 10
>>>>   + command.cache.maxResultsetSize = 500
>>>> - QUERY
>>>>   + query.useSoftReferencesInResultSet = false
>>>>   + query.parallelAuto = false
>>>>   + query.parallelMinimumRecords = 300000
>>>>   + query.parallelResultQueueSize = 20000
>>>>   + query.scanPrefetchPages = 20
>>>>   + query.scanBatchSize = 1000
>>>>   + query.scanThresholdTip = 50000
>>>>   + query.limitThresholdTip = 10000
>>>>   + query.live.support = true
>>>>   + query.timeout.defaultStrategy = EXCEPTION
>>>> - LUCENE
>>>>   + lucene.query.pageSize = 10000
>>>> - STATEMENT
>>>>   + statement.cacheSize = 100
>>>> - SQL
>>>>   + sql.graphConsistencyMode = tx
>>>> - CLIENT
>>>>   + client.channel.maxPool = 200
>>>>   + client.connectionPool.waitTimeout = 5000
>>>>   + client.channel.dbReleaseWaitTimeout = 10000
>>>>   + client.ssl.enabled = false
>>>>   + client.ssl.keyStore = null
>>>>   + client.ssl.keyStorePass = null
>>>>   + client.ssl.trustStore = null
>>>>   + client.ssl.trustStorePass = null
>>>> - SERVER
>>>>   + server.openAllDatabasesAtStartup = false
>>>>   + server.channel.cleanDelay = 5000
>>>>   + server.cache.staticFile = false
>>>>   + server.log.dumpClientExceptionLevel = FINE
>>>>   + server.log.dumpClientExceptionFullStackTrace = false
>>>> - DISTRIBUTED
>>>>   + distributed.dumpStatsEvery = 0
>>>>   + distributed.crudTaskTimeout = 10000
>>>>   + distributed.maxStartupDelay = 10000
>>>>   + distributed.commandTaskTimeout = 120000
>>>>   + distributed.commandQuickTaskTimeout = 5000
>>>>   + distributed.commandLongTaskTimeout = 86400000
>>>>   + distributed.deployDbTaskTimeout = 1200000
>>>>   + distributed.deployChunkTaskTimeout = 60000
>>>>   + distributed.deployDbTaskCompression = 7
>>>>   + distributed.asynchQueueSize = 0
>>>>   + distributed.asynchResponsesTimeout = 15000
>>>>   + distributed.purgeResponsesTimerDelay = 15000
>>>>   + distributed.conflictResolverRepairerChain =
>>>> quorum,content,majority,version
>>>>   + distributed.conflictResolverRepairerCheckEvery = 5000
>>>>   + distributed.conflictResolverRepairerBatch = 50
>>>>   + distributed.txAliveTimeout = 30000
>>>>   + distributed.requestChannels = 1
>>>>   + distributed.responseChannels = 1
>>>>   + distributed.queueTimeout = 15000
>>>>   + distributed.heartbeatTimeout = 10000
>>>>   + distributed.checkHealthCanOfflineServer = false
>>>>   + distributed.checkHealthEvery = 10000
>>>>   + distributed.autoRemoveOfflineServers = 0
>>>>   + distributed.publishNodeStatusEvery = 10000
>>>>   + distributed.localQueueSize = 10000
>>>>   + distributed.dbWorkerThreads = 0
>>>>   + distributed.queueMaxSize = 10000
>>>>   + distributed.backupDirectory = ../backup/databases
>>>>   + distributed.backupTryIncrementalFirst = true
>>>>   + distributed.checkIntegrityLastTxs = 16
>>>>   + distributed.concurrentTxMaxAutoRetry = 15
>>>>   + distributed.atomicLockTimeout = 1000
>>>>   + distributed.concurrentTxAutoRetryDelay = 10
>>>> - DB
>>>>   + db.document.serializer = ORecordSerializerBinary
>>>> - CLIENT
>>>>   + client.krb5.config = null
>>>>   + client.krb5.ccname = null
>>>>   + client.krb5.ktname = null
>>>>   + client.credentialinterceptor = null
>>>>   + client.ci.keyalgorithm = AES
>>>>   + client.ci.ciphertransform = AES/CBC/PKCS5Padding
>>>>   + client.ci.keystore.file = null
>>>>   + client.ci.keystore.password = null
>>>> - SECURITY
>>>>   + security.createDefaultUsers = true
>>>> - SERVER
>>>>   + server.security.file = null
>>>> - ORIENT
>>>>   + orient.initInServletContextListener = true
>>>> - JNA
>>>>   + jna.disable.system.library = true
>>>> - DB
>>>>   + db.makeFullCheckpointOnIndexChange = true
>>>>   + db.makeFullCheckpointOnSchemaChange = true
>>>> - CLIENT
>>>>   + client.session.tokenBased = true
>>>> - OAUTH2
>>>>   + oauth2.secretkey =
>>>> - STORAGE
>>>>   + storage.cluster.usecrc32 = false
>>>> - LAZYSET
>>>>   + lazyset.workOnStream = true
>>>> - DB
>>>>   + db.mvcc = true
>>>>   + db.use.distributedVersion = false
>>>> - MVRBTREE
>>>>   + mvrbtree.timeout = 0
>>>>   + mvrbtree.nodePageSize = 256
>>>>   + mvrbtree.loadFactor = 0.7
>>>>   + mvrbtree.optimizeThreshold = 100000
>>>>   + mvrbtree.entryPoints = 64
>>>>   + mvrbtree.optimizeEntryPointsFactor = 1.0
>>>>   + mvrbtree.entryKeysInMemory = false
>>>>   + mvrbtree.entryValuesInMemory = false
>>>>   + mvrbtree.ridBinaryThreshold = -1
>>>>   + mvrbtree.ridNodePageSize = 64
>>>>   + mvrbtree.ridNodeSaveMemory = false
>>>> - TX
>>>>   + tx.commit.synch = false
>>>>   + tx.autoRetry = 1
>>>>   + tx.log.fileType = classic
>>>>   + tx.log.synch = false
>>>>   + tx.useLog = true
>>>> - INDEX
>>>>   + index.auto.rebuildAfterNotSoftClose = true
>>>> - CLIENT
>>>>   + client.channel.minPool = 50
>>>> - STORAGE
>>>>   + storage.keepOpen = true
>>>> - CACHE
>>>>   + cache.local.enabled = true
>>>> - DISTRIBUTED
>>>>   + distributed.shutdownTimeout = 2000
>>>>
>>>> --
>>>>
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "OrientDB" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "OrientDB" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/orient-database/8UE029Na4jE/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "OrientDB" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "OrientDB" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/orient-database/8UE029Na4jE/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to