-
Notifications
You must be signed in to change notification settings - Fork 155
Upgrade to Netty 4.1.36, support native compilation #616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…abase. As this makes the routing table map easier for server version lower than 4.0. Otherwise, if we default to get routing table for system_db, we need to detect if it is server version lower than 4.0. If so, we can only get routing table for default_db, and then we need to reset the key in routing table map to be default_db. TODO: Removing stale routing table from routing table map. Also missing any integration tests for 4.0 routing driver.
…getRoutingTable`, as this procedure is not only used by cluster but also single instance.
Fixed a flaky test due to misused timeout value
Added a shortcut to specify database name on session
…streaming records before error
The tests were failing because in 4.0 we introduced a new parallel runtime which does not preserve the order of the unwind lists. As the driver tests are testing the driver not missing any records rather than cypher semantics, we change the query to preserve order in our test instead.
Netty added substitutions and meta data for native compilation on the GraalVM in version 4.1.36, which should be a drop in for 4.1.22. See the related discussion here: netty/netty#8963. Those substitutions works also when Netty is shaded. I confirmed this with a patched version of my Quarkus-Neo4j-extension (see https://github.com/quarkusio/quarkus/tree/master/extensions/neo4j), in which I can remove all the manual substitutions as well as with a Helidon project (https://github.com/michael-simons/helidon-test). All necessary options have been configured that SSL works on Graal OOTB.
Can you rebase this work on #631? |
I'll probably copy it over. Did the Netty upgrade made it to master already? |
Yes. go ahead. |
Closing in favour of #634 . |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ping @shelajev @jexp
That is an ongoing effort to
Netty added substitutions and meta data for native compilation on the
GraalVM in version 4.1.36, which should be a drop in for 4.1.22.
See the related discussion here: netty/netty#8963.
Those substitutions works also when Netty is shaded.
I confirmed this with a patched version of my Quarkus-Neo4j-extension
(see https://github.com/quarkusio/quarkus/tree/master/extensions/neo4j),
in which I can remove all the manual substitutions as well.
I also have a Helidon project (https://github.com/michael-simons/helidon-test), which now natively compiles, but get's stuck with
2019.07.20 18:22:14 WARNING org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelId !thread!: Failed to find the current process ID from ''; using a random value: 1210464143
All necessary options have been configured that SSL works on Graal OOTB. However, when not relying on infrastructure like Quarkus, one has to configure Libssl during start like this
-Djava.library.path=$GRAALVM_HOME/jre/lib -Djavax.net.ssl.trustStore=$GRAALVM_HOME/jre/lib/security/cacerts