Win a copy of Java 9 Revealed this week in the Features new in Java 9 forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

URLyBird: Please Help! Non-deterministick error with database record reading  RSS feed

 
Pawel Solarski
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I have a strange error occuring very rare during the tests of the database file record reading, with the usage of RadomAccessFile.

Then I execute the JUnit test when many threads trying to read random record and get this strange result:



I start with populating the static cache of database in the JUnit during the junit class loading (similar to JUnit4 beforeClass()):


After that, many threads are created, each one trying to read some random record:


And the simple code of RecordReader thread:


It happens very rare and with different records, no matter if a set the thread count to 10 or to 100. I looked through the log and found no other threads trying to change the file pointer. Do you have any idea of what can be wrong?
 
Matheus Mendes
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Pawel,

Man I don't know the Urly Bird spec but the problem that you mention seems to be a field length problem. I had a problem as yours on my project, I wasn't counting the first byt that indicates the total length, So sometimes my updates and selects came like yours are coming.

Well, it's just a wondering.... Try to log even more details and post here...

Hope you found this problem soon, wish you lucky
 
Jari Timonen
Ranch Hand
Posts: 232
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you tried with only one thread? If it does not fail, your threading/locking has issues. Without seeing actual reading of the file, it's hard to determine what's going wrong.

(remember forum rules about pasting entire sections of actual submission code)
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!