kstyrc / embedded-redis

Redis embedded server for Java integration testing
840 stars 368 forks source link

Request to have Linux ppc64le support for embedded-redis #71

Open ArchaB opened 8 years ago

ArchaB commented 8 years ago

Need to run presto-redis on ppc64le server. The tests currently fail connecting to the embedded redis-server. As mentioned in git issue (https://github.com/prestodb/presto/issues/5548), need to add binary to the embedded-redis for Linux ppc64le.

Any pointer would be helpful.

kstyrc commented 8 years ago

Hi,

sure, doable. We'll need 3 things:

  1. Add the Architecture.PPC64 enum so we can specify:
RedisExecProvider customProvider = RedisExecProvider.defaultProvider()
  .override(OS.UNIX, Architecture.PPC64, "/path/to/unix/ppc64/redis")
  1. Modify method to detect PPC64 architecture for Unix/Linux in Java, see OSDetector. getUnixArchitecture(),
  2. Embedded default redis 2.8.19 binary for PPC64 within jar, @ArchaB can you provide a link to downloadable binary? See https://github.com/kstyrc/embedded-redis/tree/master/src/main/resources

Will provide code for 1) and 2). Can you help me with 3)? I cannot find redis binary for PPC64 on redis.io/download page.

ArchaB commented 7 years ago

@kstyrc , could not find the binaries in the mentioned link. For my testing I had installed the redis-server using the following commands on RHEL 7.2 PPC System

wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make

kstyrc commented 7 years ago

I would like to avoid compiling sources as part of running embedded-redis in test. So on my side I will try to add PPC64 architecture detection, so you could write smth like:

RedisExecProvider customProvider = RedisExecProvider.defaultProvider()
  .override(OS.UNIX, Architecture.PPC64, "/path/to/compiled/ppc64/redis")

But you would be responsible for providing compiled binary of redis for PPC64. What do you think?

@ArchaB Could you provide me with the output of the following command on PPC64?

> uname -m
ArchaB commented 7 years ago

@kstyrc

uname -m ppc64le

ArchaB commented 7 years ago

@kstyrc In your earlier response you mentioned "But you would be responsible for providing compiled binary of redis for PPC64. What do you think?" Had a doubt on which redis server would this mean. Is this Redis Server/presto-redis

ArchaB commented 7 years ago

@kstyrc In your earlier response you mentioned "But you would be responsible for providing compiled binary of redis for PPC64. What do you think?" Had a doubt on which redis server would this mean. Is this Redis Server/presto-redis

amitsadaphule commented 4 years ago

@kstyrc I'm trying to fix the presto-redis tests for ppc64le. Does this repository contribute to https://repo.maven.apache.org/maven2/com/orange/redis-embedded/embedded-redis/0.6/embedded-redis-0.6.jar? I don't see the resemblance from the jar contents:

.
├── META-INF
│   ├── MANIFEST.MF
│   └── maven
│       └── com.orange.redis-embedded
│           └── embedded-redis
│               ├── pom.properties
│               └── pom.xml
└── redis
    ├── 2.8.5
    │   ├── linux
    │   │   └── redis-server
    │   └── macosx
    │       └── redis-server
    ├── 2.8.9
    │   ├── linux
    │   │   └── redis-server
    │   └── macosx
    │       └── redis-server
    └── embedded
        ├── RedisServer.class
        └── RedisServer$RedisServerEnum.class
amitsadaphule commented 4 years ago

Cc @gerrith3 @seth-priya

amitsadaphule commented 4 years ago

@kstyrc and @electrum I found out that presto is still using https://github.com/gbrd/embedded-redis and support for ppc64le in this repository never realized.

If both of you are still open to accepting the changes for adding ppc64le support, I'd like to work towards that here as well as on presto side. Please confirm. Thanks!

amitsadaphule commented 4 years ago

@kstyrc @turu could you please review this PR: https://github.com/kstyrc/embedded-redis/pull/117