question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Change back to getLong: why ?

See original GitHub issue

Hi to all,

This is more a clarification request than an issue per se:

  • we’re currently evaluating lmbdjava and while we didn’t experience any problem on OS X and Linux, we had some random and rather frequent crashes on Windows (access violations while retrieving buffers or keys). After investigation, we couldn’t really pinpoint anything wrong with our code or discern any general rule as to the crashes’ cause (multithreading, memory, etc.). We’re using JDK 8 but using other JDKs did not help.

  • we finally managed to reproduce the problem consistently using ByteBufferProxy.PROXY_SAFE, creating a large env size (> 1Gb) and a bit of our code in a JUnit set to 2048m max heap size (letting the default buffer, PROXY_OPTIMAL, makes it much harder to crash, but it crashes eventually – the same with Agrona buffers or even byte arrays). Our piece of code does not really stress lmdb, nor fills the map or anything extreme.

  • then I saw issue 97 and your change from getLong to getAddress in the buffer proxies, and decided to give it another go. It improved things a lot. Early tests seem to indicate that the problem went away, at least with ByteBufferProxy.PROXY_SAFE.

Which leads to my question:

  • since we originally had the problem with OPTIMAL proxy versions and you reverted back to using getLong for these, the problem is still there unless we write our own proxy. Which we can do, of course, but I wanted to know if there was a specific issue that made you revert your changes?

Thanks!

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:15 (15 by maintainers)

github_iconTop GitHub Comments

1reaction
benalexaucommented, Mar 28, 2019

How did you go with this? Can we close the ticket if you’re sorted it out?

0reactions
altessecommented, May 31, 2019

Yes you can, thanks. I’ll you informed as soon as we switch to 0.6.3.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Long.getLong() failing, returning null to valid string
Returns the Long value of the system property identified by string. this is the code of the getLong() method and only get a...
Read more >
Java long getLong(String nm,long val) method example
A Long object that represents the value of the second argument is returned if there is no property of the specified name, if...
Read more >
java.sql.ResultSet.getLong java code examples - Tabnine
@Override public SelectorRecord map(ResultSet resultSet, StatementContext context) throws SQLException { return new SelectorRecord( resultSet.
Read more >
Java Long getLong(String nm) Method - Studytonight
Java getLong() method is a part of Long class which determine the long value that is associated with the system property passed as...
Read more >
ResultSet (Java Platform SE 7 ) - Oracle Help Center
The next method moves the cursor to the next row, and because it returns false ... The ResultSet interface provides getter methods (...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found