Skip to content

syncSlaves in RTransaction not working as expected #6292

Open

Description

@nirupamadsk

Redis version

7.2.5

Redisson version

3.36.0

Redisson configuration

Redis single shard, running locally with 2 replicas.

port <port>
cluster-enabled no
appendonly yes
dir redis-single-shard/<port>/data 

What is the Expected behavior?

Transaction didn't fail.

  public RTransaction createTransaction(){
    return redisson.createTransaction(TransactionOptions.defaults().syncSlaves(3, 10, TimeUnit.SECONDS));
  }
  
  @Test
  public void test() throws ExecutionException, InterruptedException {
    RTransaction transaction = redissonProvider.createTransaction();
    try {
      for (int i = 0; i < 10; i++) {
        transaction.getBucket("key" + i).setAsync("value" + i);
      }
      transaction.commit();
    } catch (TransactionException e) {
      System.out.println("Starting rollback...");
      transaction.rollback();
    }
  }

What is the Actual behavior?

Transaction should fail, as there are only 2 replicas configured but asked for replication to upto 3.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions