Skip to content

Add support for aarch64 #1396

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

Merged
merged 1 commit into from
Sep 4, 2020
Merged

Add support for aarch64 #1396

merged 1 commit into from
Sep 4, 2020

Conversation

odidev
Copy link
Contributor

@odidev odidev commented Aug 20, 2020

Motivation

Fixed the build issue on aarch64. Previously build of lettuce-core was failing on aarch64 with below error:
[ERROR] Failed to execute goal on project lettuce-core: Could not resolve dependencies for project io.lettuce:lettuce-core:jar:6.0.0.BUILD-SNAPSHOT: Failure to find io.netty:netty-tcnative:jar:linux-aarch_64:2.0.31.Final in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

Modifications

  • Update netty-tcnative to 2.0.33.Final which includes aarch64 jar
  • Add profile to set classifier for aarch64 in pom.xml

@codecov
Copy link

codecov bot commented Aug 20, 2020

Codecov Report

Merging #1396 into main will increase coverage by 0.05%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff              @@
##               main    #1396      +/-   ##
============================================
+ Coverage     79.85%   79.90%   +0.05%     
- Complexity     6131     6132       +1     
============================================
  Files           437      437              
  Lines         20353    20353              
  Branches       2292     2292              
============================================
+ Hits          16252    16263      +11     
+ Misses         3028     3021       -7     
+ Partials       1073     1069       -4     
Impacted Files Coverage Δ Complexity Δ
.../io/lettuce/core/protocol/ReconnectionHandler.java 75.67% <0.00%> (-4.06%) 21.00% <0.00%> (-1.00%)
src/main/java/io/lettuce/core/ScanStream.java 86.53% <0.00%> (-1.29%) 24.00% <0.00%> (ø%)
.../io/lettuce/core/dynamic/ReactiveTypeAdapters.java 87.39% <0.00%> (+0.43%) 1.00% <0.00%> (ø%)
...main/java/io/lettuce/core/AbstractRedisClient.java 82.41% <0.00%> (+0.54%) 47.00% <0.00%> (+1.00%)
...a/io/lettuce/core/protocol/ConnectionWatchdog.java 80.39% <0.00%> (+2.61%) 39.00% <0.00%> (+1.00%)
.../java/io/lettuce/core/output/StreamReadOutput.java 92.68% <0.00%> (+4.87%) 17.00% <0.00%> (+1.00%)
...lettuce/core/output/KeyValueScoredValueOutput.java 100.00% <0.00%> (+23.52%) 5.00% <0.00%> (ø%)
...java/io/lettuce/core/output/ScoredValueOutput.java 84.61% <0.00%> (+30.76%) 4.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 042ce9b...d2cb8e2. Read the comment docs.

- update netty-tcnative to 2.0.33.Final which includes aarch64 jar
- add profile to set classifier for aarch64 in pom.xml
@mp911de
Copy link
Collaborator

mp911de commented Aug 20, 2020

Thanks. Isn't that a something that should be also addressed in the os detector plugin since the maven os detector advertises netty tc native usage?

@odidev
Copy link
Contributor Author

odidev commented Aug 20, 2020

@mp911de ,

Thanks for reply.
The tcnative jar present for aarch4 at maven repo having the syntax like "netty-tcnative-2.0.33.Final-linux-aarch64-fedora.jar", which is different for other architecture jar files like below.

  • netty-tcnative-2.0.33.final-linux-x86_64.jar
  • netty-tcnative-2.0.33.final-windows-x86_64.jar
  • netty-tcnative-2.0.33.final-osx-x86_64.jar

So, os.detected.classifer can work for other architecture, but not for aarch64.
Because “os.detected.classifier” value for aarch64 is "linux-aarch_64", but similar jar is not available for aarch64 in tcnative.
So need to handle the case for aarch64 separately.

@mp911de mp911de added this to the 6.0.0 milestone Sep 4, 2020
@mp911de mp911de added the type: feature A new feature label Sep 4, 2020
@mp911de mp911de merged commit a2bc546 into redis:main Sep 4, 2020
@mp911de
Copy link
Collaborator

mp911de commented Sep 4, 2020

Thank you for your contribution. That's merged now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature A new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants