Igor created IGNITE-26384:
-----------------------------

             Summary: Failed to process replica request when node left cluster
                 Key: IGNITE-26384
                 URL: https://issues.apache.org/jira/browse/IGNITE-26384
             Project: Ignite
          Issue Type: Bug
          Components: replication ai3
    Affects Versions: 3.1
         Environment: 3 nodes cluster running locally
            Reporter: Igor
         Attachments: server_logs.zip

*Steps to reproduce:*
1. Start cluster of 3 nodes.

2. Create zone: 
{code:java}
create zone if not exists "cluster_failover_3" (replicas 3, auto scale up 10, 
auto scale down 10) storage profiles ['default_aipersist']{code}
3. Create 10 tables:
{code:java}
create TABLE failoverTest00(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest01(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest02(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest03(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest04(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest05(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest06(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest07(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest08(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3"
create TABLE failoverTest09(k1 INTEGER not null, k2 INTEGER not null, v1 
VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) 
ZONE "cluster_failover_3" {code}
4. Insert 100 rows into every table using `executeBatch`
5. Kill node1.

6. Connect to node0 to insert data via JDBC.

*Expected:*
Successfully connected and inserted data.

*Actual:*
Exception on client side:
{code:java}
java.sql.BatchUpdateException: Failed to process replica request 
[replicaGroupId=ZonePartitionIdMessageImpl [partitionId=23, zoneId=20]]
    at 
org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:158)
    at 
org.gridgain.ai3tests.tests.failover.ClusterFailoverTestBase.fillTables(ClusterFailoverTestBase.java:256)
    at 
org.gridgain.ai3tests.tests.failover.ClusterFailover3NodesTest.singleKillAddDataAndCheckNodeReturns(ClusterFailover3NodesTest.java:162)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at 
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:787)
    at 
org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:479)
    at 
org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
    at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    at 
org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestMethod(InvocationInterceptor.java:129)
    at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
    at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
    at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    at 
org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestMethod(InvocationInterceptor.java:129)
    at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
    at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
    at 
org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    at 
org.junit.jupiter.api.AssertTimeoutPreemptively.lambda$submitTask$3(AssertTimeoutPreemptively.java:95)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833) {code}
Server logs:
[^server_logs.zip]

 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to