JiriOndrusek opened a new pull request #1902: URL: https://github.com/apache/camel-quarkus/pull/1902
Issue https://github.com/apache/camel-quarkus/issues/1839 There are several "topics" where I'd appreciate opinion of others. 1. Preferred implementation of LevelDb is in C++, implementation in Java is much slower (see https://github.com/dain/leveldb#leveldb-in-java). Current PR uses only Java implementation in native. I'd like to investigate possible usage of C++ library in native, but I see it more like an enhancement, because current PR works. 2. Component levelDb uses serialization of `DefaultExchangeHolder`. I've used workaround with Jackson serialization instead. (see https://github.com/apache/camel-quarkus/compare/master...JiriOndrusek:1839-leveldb-native?expand=1#diff-5fbe79b4f16469a82d30051dc3cf564aR46) 3. Java implementation of LevelDB uses `methodHandle` which is not supported by GraalVM. I used previous version of `ByteBufferSupport` and applied it via substitutions until issue https://github.com/oracle/graal/issues/2761 is fixed. See more information here: https://github.com/apache/camel-quarkus/compare/master...JiriOndrusek:1839-leveldb-native?expand=1#diff-799b2f59808725c0c8b95feacb5b4c8aR25 From my POV this PR could be merged. I'm currently starting to investigate support of C++ levelDB. If this approach will work, I'd enhance this extension (which is working as is) What do you think, @ppalaga ? [ ] An issue should be filed for the change unless this is a trivial change (fixing a typo or similar). One issue should ideally be fixed by not more than one commit and the other way round, each commit should fix just one issue, without pulling in other changes. [ ] Each commit in the pull request should have a meaningful and properly spelled subject line and body. Copying the title of the associated issue is typically enough. Please include the issue number in the commit message prefixed by #. [ ] The pull request description should explain what the pull request does, how, and why. If the info is available in the associated issue or some other external document, a link is enough. [ ] Phrases like Fix #<issueNumber> or Fixes #<issueNumber> will auto-close the named issue upon merging the pull request. Using them is typically a good idea. [ ] Please run mvn process-resources -Pformat (and amend the changes if necessary) before sending the pull request. [ ] Contributor guide is your good friend: https://camel.apache.org/camel-quarkus/latest/contributor-guide.html ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
