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]


Reply via email to