damccorm opened a new issue, #21124:
URL: https://github.com/apache/beam/issues/21124

   I am trying to use the RedisIO connector with Redis cluster but it looks 
like the Jedis client that RedisIO uses only works on a standalone Redis 
server, not on a cluster. I get this error when trying to read from Redis:
   
   ```
   
   Exception in thread "main" 
org.apache.beam.sdk.Pipeline$PipelineExecutionException: 
redis.clients.jedis.exceptions.JedisMovedDa
   taException:
   MOVED 15000 172.16.2.3:6379
           at 
org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:371)
   
          at 
org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:339)
   
          at 
org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:219)
           at 
org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:67)
   
          at org.apache.beam.sdk.Pipeline.run(Pipeline.java:322)
           at org.apache.beam.sdk.Pipeline.run(Pipeline.java:308)
   
         at com.oracle.quanta.RedisToAtp.run(RedisToAtp.java:196)
           at com.oracle.quanta.RedisToAtp.main(RedisToAtp.java:54)
   Caused
   by: redis.clients.jedis.exceptions.JedisMovedDataException: MOVED 15000 
172.16.2.3:6379
           at
   redis.clients.jedis.Protocol.processError(Protocol.java:116)
           at redis.clients.jedis.Protocol.process(Protocol.java:166)
   
          at redis.clients.jedis.Protocol.read(Protocol.java:220)
           at 
redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:278)
   
          at 
redis.clients.jedis.Connection.getBinaryMultiBulkReply(Connection.java:230)
           at 
redis.clients.jedis.Connection.getMultiBulkReply(Connection.java:224)
   
          at redis.clients.jedis.Jedis.mget(Jedis.java:474)
           at 
org.apache.beam.sdk.io.redis.RedisIO$ReadFn.fetchAndFlush(RedisIO.java:517)
   
          at 
org.apache.beam.sdk.io.redis.RedisIO$ReadFn.finishBundle(RedisIO.java:500)
   
   ```
   
   
   
   
   This is the code that I use:
   
   
   ```
   
           PCollection<Event> events =
   
                   pipeline
   
                           /*
   
    
                          * Step #1: Read from Redis.
   
                            */
   
                 
            .apply("Read Redis KV Store", RedisIO.read()
   
                                   .withEndpoint(redisHost,
   6379)
   
                                   .withKeyPattern(redisKeyPattern))
   
   ```
   
   
   Is there a way to configure RedisIO to work with a  cluster? I would have 
expected it to use JedisCluster when working with Redis in cluster mode but 
from 
https://github.com/apache/beam/blob/master/sdks/java/io/redis/src/main/java/org/apache/beam/sdk/io/redis/RedisIO.java
 it appears that it only uses the standalone Jedis client.
   
   Source: 
https://lists.apache.org/thread.html/rb2826a1b081055ed64ca56b7c8985fbe121488fea5bd5830a38a38f7%40%3Cuser.beam.apache.org%3E
   
   Imported from Jira 
[BEAM-13065](https://issues.apache.org/jira/browse/BEAM-13065). Original Jira 
may contain additional context.
   Reported by: lcwik.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to