Issue #2322: Query fails with failed to read

Type: Bug ReoprtVersion: 2.7.5_05Priority: NormalStatus: ActiveReplies: 25
#1

2-3 times per day we have a query that fails with:

 

Failed to read from file 'F:\Hummingbird\Objectdb\db\coresystemdb.odb'

 

 

in the objectdb log there is no entry. What could be the reason, what to do ?

 

#2

Please see similar previous reports by other users: issue 1137, issue 1142, issue 1682.

At least issue 1682 is related to online backup and was fixed in version 2.6.3.

Are you using online backup when the exception is thrown? Any other special activity at that time?

Please post a full stack trace of the exception (strange that nothing is written to ObjectDB log, please check both the client and the server log, or catch the exception and log the stack trace by your application).

 

ObjectDB Support
#3

we have it now 5-10 times per day. There is not any backup activity active during these times. It always happens when using a getResultList() on a query.

there are not any logs in the log (we are using embedded mode so there is only one log).

 

#4

Do you have the full stack trace?

ObjectDB Support
#5

unfortunately not, we cannot stop the system to inbuild any trace outputs

#6

How do you get this error message? using getMessage() on a caught exception object? In that case you may be able to update the code to report the full stack trace.

The error message itself doesn't provide much information.

Alternatively we can release a new build that will write the stack trace and maybe more info to the log, if you can replace the ObjectDB jar file on your production system.

ObjectDB Support
#7

we get that error on a caught exception, in our trace it is like this:

...

[2018.08.09 10:41:30](2)class com.agile.hummingbird.CT_Container>query error: Failed to read from file 'F:\Hummingbird\Objectdb\db\coresystemdb.odb'
[2018.08.09 10:41:30](2)class com.agile.hummingbird.CT_Container>stack: com.agile.hummingbird.Utilities.getStackTrace(Utilities.java:93)
com.agile.hummingbird.CT_Container.computeContainer(CT_Container.java:214)
com.agile.hummingbird.API.handleGetContainer(API.java:3130)
com.agile.hummingbird.API.directRequest(API.java:965)
com.agile.hummingbird.API.handleWebSocketRequest(API.java:808)
com.agile.hummingbird.WebSocketServerListener.onWebSocketText(WebSocketServerListener.java:166)
org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)

our JAVA code is:

 

...

                try {
                    List<ObjectNode> objectNodes = queryContainer.getResultList();
                } catch(Exception e){
                    LogEntry.logging(CT_Container.class.toString(), "query error", e.getLocalizedMessage(), LogEntry.SEVERITY_ERROR,threadEntityManager);
                    Utilities utilities = new Utilities();
                    LogEntry.logging(CT_Container.class.toString(), "stack", utilities.getStackTrace(e), LogEntry.SEVERITY_ERROR,threadEntityManager);
                }

...

 

#8

we are able to update the production system next week monday night

#9

Strangely this stack trace is missing the relevant lines from ObjectDB.

We will prepare a new build in order to get more information about this error.

ObjectDB Support
#10

we have a possibility to already restart the system this weekend, so if you have a version, please inform

#11

Build 2.7.5_05 is ready with new logging info for this issue (logger "store.file", level fatal, so probably no need for any configuration change if fatal logging is enabled for all loggers, which is the default).

ObjectDB Support
#12

thanks, version is active, we wait for an incident (during weekend we do not expect any)

#13

still we do not have the original exception since we changed to the new version on 20180811 but there is a log entry from the last weekend that we did not have before (there is no exception for this on our application level):

 

[2018-08-17 19:14:41 #4 store.file] 
LocalFile.read error: 0, 52076077056, 2048

[2018-08-17 19:14:41 #5 store.file] 
java.io.IOException: Der Prozess kann nicht auf die Datei zugreifen, da ein anderer Prozess einen Teil der Datei gesperrt hat
    at java.io.RandomAccessFile.readBytes(Native Method)
    at java.io.RandomAccessFile.read(Unknown Source)
    at java.io.RandomAccessFile.readFully(Unknown Source)
    at com.objectdb.o.LFL.YV(LFL.java:1155)
    at com.objectdb.o.LFL.YV(LFL.java:1127)
    at com.objectdb.o.PAG.Q(PAG.java:953)
    at com.objectdb.o.PGC.p(PGC.java:285)
    at com.objectdb.o.SNP.u(SNP.java:438)
    at com.objectdb.o.MST.ax(MST.java:514)
    at com.objectdb.o.MST.aw(MST.java:615)
    at com.objectdb.o.MST.ZN(MST.java:575)
    at com.objectdb.o.PLN.ZN(PLN.java:518)
    at com.objectdb.o.TAI.ZN(TAI.java:203)
    at com.objectdb.o.TAI.ZU(TAI.java:136)
    at com.objectdb.o.TQI.ZU(TQI.java:56)
    at com.objectdb.o.MQI.ZT(MQI.java:142)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.GQI.ZU(GQI.java:150)
    at com.objectdb.o.SQI.ZU(SQI.java:110)
    at com.objectdb.o.PRG.h(PRG.java:698)
    at com.objectdb.o.PRG.g(PRG.java:560)
    at com.objectdb.o.QRM.Zv(QRM.java:287)
    at com.objectdb.o.MST.Zv(MST.java:1003)
    at com.objectdb.o.WRA.Zv(WRA.java:313)
    at com.objectdb.o.WSM.Zv(WSM.java:117)
    at com.objectdb.o.QRR.k(QRR.java:260)
    at com.objectdb.o.QRR.i(QRR.java:155)
    at com.objectdb.jpa.JpaQuery.getResultList(JpaQuery.java:721)
    at com.agile.hummingbird.API.executeGetProcessOperations(API.java:4175)
    at com.agile.hummingbird.API.handleGetProcessOperations(API.java:4007)
    at com.agile.hummingbird.API.directRequest(API.java:978)
    at com.agile.hummingbird.API.handleWebSocketRequest(API.java:808)
    at com.agile.hummingbird.WebSocketServerListener.onWebSocketText(WebSocketServerListener.java:166)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
    at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
    at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)

[2018-08-17 19:14:41 #6 store.file] 
LocalFile.read error: 0, 52076077056, 2048

[2018-08-17 19:14:41 #7 store.file] 
java.io.IOException: Der Prozess kann nicht auf die Datei zugreifen, da ein anderer Prozess einen Teil der Datei gesperrt hat
    at java.io.RandomAccessFile.readBytes(Native Method)
    at java.io.RandomAccessFile.read(Unknown Source)
    at java.io.RandomAccessFile.readFully(Unknown Source)
    at com.objectdb.o.LFL.YV(LFL.java:1155)
    at com.objectdb.o.LFL.YV(LFL.java:1127)
    at com.objectdb.o.PAG.Q(PAG.java:953)
    at com.objectdb.o.PGC.p(PGC.java:285)
    at com.objectdb.o.SNP.u(SNP.java:438)
    at com.objectdb.o.MST.ax(MST.java:514)
    at com.objectdb.o.MST.aw(MST.java:615)
    at com.objectdb.o.MST.ZN(MST.java:575)
    at com.objectdb.o.PLN.ZN(PLN.java:518)
    at com.objectdb.o.TAI.ZN(TAI.java:203)
    at com.objectdb.o.TAI.ZU(TAI.java:136)
    at com.objectdb.o.TQI.ZU(TQI.java:56)
    at com.objectdb.o.MQI.ZT(MQI.java:142)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.GQI.ZU(GQI.java:150)
    at com.objectdb.o.SQI.ZU(SQI.java:110)
    at com.objectdb.o.PRG.h(PRG.java:698)
    at com.objectdb.o.PRG.g(PRG.java:560)
    at com.objectdb.o.QRM.Zv(QRM.java:287)
    at com.objectdb.o.MST.Zv(MST.java:1003)
    at com.objectdb.o.WRA.Zv(WRA.java:313)
    at com.objectdb.o.WSM.Zv(WSM.java:117)
    at com.objectdb.o.QRR.k(QRR.java:260)
    at com.objectdb.o.QRR.i(QRR.java:155)
    at com.objectdb.jpa.JpaQuery.getResultList(JpaQuery.java:721)
    at com.agile.hummingbird.API.executeGetProcessOperations(API.java:4175)
    at com.agile.hummingbird.API.handleGetProcessOperations(API.java:4007)
    at com.agile.hummingbird.API.directRequest(API.java:978)
    at com.agile.hummingbird.API.handleWebSocketRequest(API.java:808)
    at com.agile.hummingbird.WebSocketServerListener.onWebSocketText(WebSocketServerListener.java:166)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
    at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
    at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)
#14

Searching for this error message (in English) "The process cannot access the file because another process has locked a portion of the file" shows some results that may be relevant, for example:

https://social.msdn.microsoft.com/Forums/azure/en-US/51f39918-3dd5-4c62-b3d2-ec3a1159279d/the-process-cannot-access-the-file-because-another-process-has-locked-a-portion-of-the-file-57?forum=visualstudiogeneral

If the answer on that thread is correct then the locker is another process, i.e. this is not a lock by your application process with the embedded ObjectDB but by a different process (anti-virus? virus? backup? another application that uses ObjectDB? maybe Jetty restart?).

You should try to check the system log for activity at the time of this exception.

In addition, you wrote:

> there is no exception for this on our application level

This is strange. ObjectDB throws an exception. Just checked all the way in this stack trace from the location in which the exception is thrown and until the call to ObjectDB (the getResultList method) and it seems that this exception cannot be caught by ObjectDB. There are only 5 lines in the stack trace related to you application:

    at com.agile.hummingbird.API.executeGetProcessOperations(API.java:4175)
    at com.agile.hummingbird.API.handleGetProcessOperations(API.java:4007)
    at com.agile.hummingbird.API.directRequest(API.java:978)
    at com.agile.hummingbird.API.handleWebSocketRequest(API.java:808)
    at com.agile.hummingbird.WebSocketServerListener.onWebSocketText(WebSocketServerListener.java:166)

Please verify that there is no silent catch at these levels. Is it possible that the web application was just restarted exactly at that time (maybe this could cause the exception itself)?

ObjectDB Support
#15

indeed there is a silent catch, sorry for that.

analyzing the Windows event logs did not show any logged activity at that time. I checked with our staff and what they did around that was using the explorer in client/server mode connecting to the database via our core module (which is using embedded objectdb). An error occured exactly at that time while they used still the old objectdb binaries (as we did forget to exchange them together with our update 1 week before). The log shows:

[2018-08-17 19:14:40 #1 config] 
Invalid or expired activation code: AKEP-SJ5T-6S1Y-B65T-FWKY

[2018-08-17 19:14:43 #2 explorer] 
com.objectdb.o.UserException: Failed to deserialize (com.objectdb.o.EXN; local class incompatible: stream classdesc serialVersionUID = 6457449665324812786, local class serialVersionUID = 2845129412123078741)
    at com.objectdb.o.MSG.a(MSG.java:77)
    at com.objectdb.o.BYR.i(BYR.java:811)
    at com.objectdb.o.BYR.i(BYR.java:750)
    at com.objectdb.o.CST.ZJ(CST.java:963)
    at com.objectdb.o.DTP.g(DTP.java:121)
    at com.objectdb.o.MainFrame.f(MainFrame.java:235)
    at com.objectdb.o.MainFrame.f(MainFrame.java:233)
    at com.objectdb.o.MainFrame.f(MainFrame.java:233)
    at com.objectdb.o.MainFrame.f(MainFrame.java:233)
    at com.objectdb.o.MainFrame.f(MainFrame.java:233)
    at com.objectdb.o.MainFrame.e(MainFrame.java:218)
    at com.objectdb.o.EXA.k(EXA.java:196)
    at com.objectdb.o.EXA.j(EXA.java:188)
    at com.objectdb.o.CNC.s(CNC.java:120)
    at com.objectdb.o.EXA.<init>(EXA.java:87)
    at com.objectdb.Explorer$1.run(Explorer.java:57)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.InvalidClassException: com.objectdb.o.EXN; local class incompatible: stream classdesc serialVersionUID = 6457449665324812786, local class serialVersionUID = 2845129412123078741
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at com.objectdb.o.BYR.i(BYR.java:785)
    ... 28 more

 

#16

Embedded mode is restricted to one process at a time. Actually ObjectDB locks the database file when it is in use so accessing the database with the Explorer shouldn't be possible when it is in use unless file locking fails (it is possible) or if you are using embedded-server mode.

Are you using embedded-server mode? If you do this should be checked further as a possible cause for this exception.

ObjectDB Support
#17

Yes we are using embedded server mode

#18

From your description it is quite clear that the exception is related to opening the Explorer.

However, when embedded-server mode is used the database file is directly accessed only from the owner process, which functions in embedded mode and as a server, so it is unclear how this could cause an access conflict from different processes. An attempt to reproduce the issue by using embedded-server mode and opening the Explorer when the database is busy doesn't cause this exception in our tests.

Maybe the Explorer accesses the database directly? Theoretically it should be blocked when it is opened but the blocking depends on OS file locking, which may not work in some systems.

Could you please provide more information about using the Explorer in this scenario. Was it on the same computer on which the application with the embedded ObjectDB was run or from another computer? How do you run embedded-server mode and how do you run the Explorer?

ObjectDB Support
#19

we did run it on the same server as the CoreDaemon with the embedded ObjectDB. 

we access the embedded ObjectDB from explorer with the C/S connection on port 3333

#20

Connection url objectdb://localhost:3333/?

Another question, do you use the Explorer only to view data or also to change database content, i.e. to write to the database?

Build 2.7.5_05 included in addition to the extended logging also a small change of accessing database for reading using read lock rather than read-write lock in previous builds, when "objectdb.temp.concurrent-file-read" is enabled.

Are you using "objectdb.temp.concurrent-file-read"?

Do you see a change in the frequency of this exception since the update?

Does it happen only when the Explorer is used?  Do you think that this could also be the case before 2.7.5_05?

ObjectDB Support
#21

- in the case where we had this exception we did do an object delete via Explorer (but this is not a usual case, we only cleaned up a bit)

- the frequency of exception is much less, we still did not have any of these 

Failed to read from file 'F:\Hummingbird\Objectdb\db\coresystemdb.odb'

exceptions since we updated

- we are using the concurrent file read (System.setProperty("objectdb.temp.concurrent-file-read", "true");) 

- we have a new entry in the log today:

[2018-08-22 13:56:09 #8 store] 
RetrievalTask.reportPrimaryResult0: page#15177817, reader.getPos() = 0

#22

> - in the case where we had this exception we did do an object delete via Explorer (but this is not a usual case, we only cleaned up a bit)

The cause is unclear. Please report again if it happens again.

> - the frequency of exception is much less, we still did not have any of these 
> Failed to read from file 'F:\Hummingbird\Objectdb\db\coresystemdb.odb'

So maybe 2.7.5_05 solved this specific issue.

> RetrievalTask.reportPrimaryResult0: page#15177817, reader.getPos() = 0

This is an old log entry that should probably be removed. It it written when an exception is thrown during retrieval, but the log itself doesn't provide useful information out of the context. i.e. with no information about the thrown exception (the exception itself could be also an "expected" exception, e.g. on object lock conflict).

 

ObjectDB Support
#23

we have the same situation as described in #13 in our log below:

we can reproduce the behaviour:

- we opened explorer and opened a client/server connection to our embedded server

- we closed the explorer

- we opened the explorer again and an error message appeared like '... error opening database file ... attempt to open a database file that is currently in use by another process'

- after this there is the error below in our server log

what is strange is that the explorer tried to open the database file in direct access mode instead of doing nothing, especially after having a c/s connection the usage before

 

[2018-08-28 17:12:57 #5 store.file] 
LocalFile.read error: 0, 45975916544, 2048

[2018-08-28 17:12:57 #6 store.file] 
LocalFile.read error: 0, 58644695040, 2048

[2018-08-28 17:12:57 #7 store.file] 
java.io.IOException: Der Prozess kann nicht auf die Datei zugreifen, da ein anderer Prozess einen Teil der Datei gesperrt hat
    at java.io.RandomAccessFile.readBytes(Native Method)
    at java.io.RandomAccessFile.read(Unknown Source)
    at java.io.RandomAccessFile.readFully(Unknown Source)
    at com.objectdb.o.LFL.YV(LFL.java:1155)
    at com.objectdb.o.LFL.YV(LFL.java:1127)
    at com.objectdb.o.PAG.Q(PAG.java:953)
    at com.objectdb.o.PGC.p(PGC.java:285)
    at com.objectdb.o.SNP.u(SNP.java:438)
    at com.objectdb.o.OBI.f(OBI.java:449)
    at com.objectdb.o.OBI.<init>(OBI.java:200)
    at com.objectdb.o.SBI.<init>(SBI.java:52)
    at com.objectdb.o.MST.an(MST.java:838)
    at com.objectdb.o.BQI.ZU(BQI.java:130)
    at com.objectdb.o.PLN.ZN(PLN.java:501)
    at com.objectdb.o.TAI.ZN(TAI.java:203)
    at com.objectdb.o.TAI.ZU(TAI.java:136)
    at com.objectdb.o.TQI.ZU(TQI.java:56)
    at com.objectdb.o.MQI.ZT(MQI.java:142)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.MQI.ZT(MQI.java:122)
    at com.objectdb.o.GQI.ZU(GQI.java:150)
    at com.objectdb.o.SQI.ZU(SQI.java:110)
    at com.objectdb.o.PRG.h(PRG.java:698)
    at com.objectdb.o.PRG.g(PRG.java:560)
    at com.objectdb.o.QRM.Zv(QRM.java:287)
    at com.objectdb.o.MST.Zv(MST.java:1003)
    at com.objectdb.o.WRA.Zv(WRA.java:313)
    at com.objectdb.o.WSM.Zv(WSM.java:117)
    at com.objectdb.o.QRR.k(QRR.java:260)
    at com.objectdb.o.QRR.i(QRR.java:155)
    at com.objectdb.jpa.JpaQuery.getResultList(JpaQuery.java:721)
    at com.agile.hummingbird.API.executeGetProcessOperations(API.java:4182)
    at com.agile.hummingbird.API.handleGetProcessOperations(API.java:4014)
    at com.agile.hummingbird.API.directRequest(API.java:985)
    at com.agile.hummingbird.API.handleWebSocketRequest(API.java:815)
    at com.agile.hummingbird.WebSocketServerListener.onWebSocketText(WebSocketServerListener.java:172)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
    at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
    at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
    at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
    at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
    at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
    at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
    at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
    at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Unknown Source)
#24

we now opened again the explorer and it connected via the embedded server but we have the

...

[2018-08-28 19:36:19 #10 store.file] 
LocalFile.read error: 0, 38662033408, 2048

[2018-08-28 19:36:19 #11 store.file] 
java.io.IOException: Der Prozess kann nicht auf die Datei zugreifen, da ein anderer Prozess einen Teil der Datei gesperrt hat

...

error in the log

#25

Thank you for this update. We will try to reproduce the error following your description.

ObjectDB Support
#26

Unfortunately we are unsuccessful in reproducing this error.

> what is strange is that the explorer tried to open the database file in direct access mode instead of doing nothing, especially after having a c/s connection the usage before.

There is a change in one of the recent ObjectDB builds that may solve this Explorer behaviour.

ObjectDB Support

Reply