Skip to content

Commit 4ce319e

Browse files
authored
IGNITE-27429 Add client observableTs heartbeat propagation test (#7284)
1 parent a625684 commit 4ce319e

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientObservationTsTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,14 @@
1717

1818
package org.apache.ignite.internal.runner.app.client;
1919

20+
import static org.awaitility.Awaitility.await;
2021
import static org.junit.jupiter.api.Assertions.assertEquals;
2122

23+
import java.time.Duration;
24+
import org.apache.ignite.client.IgniteClient;
25+
import org.apache.ignite.client.IgniteClient.Builder;
26+
import org.apache.ignite.internal.client.TcpIgniteClient;
27+
import org.apache.ignite.internal.hlc.HybridTimestampTracker;
2228
import org.apache.ignite.table.Table;
2329
import org.apache.ignite.table.Tuple;
2430
import org.apache.ignite.tx.Transaction;
@@ -65,4 +71,19 @@ public void test() {
6571
assertEquals("client value", directClientValue, directClientValue);
6672
assertEquals("client value", directSrvValue, directSrvValue);
6773
}
74+
75+
@Test
76+
public void testObservableTsUpdatesOnHeartbeat() {
77+
Builder clientBuilder = IgniteClient.builder()
78+
.addresses(getClientAddresses().toArray(new String[0]))
79+
.heartbeatInterval(100);
80+
81+
try (IgniteClient client = clientBuilder.build()) {
82+
HybridTimestampTracker tsTracker = ((TcpIgniteClient) client).channel().observableTimestamp();
83+
84+
long initialTs = tsTracker.getLong();
85+
86+
await().atMost(Duration.ofSeconds(5)).until(() -> tsTracker.getLong() > initialTs);
87+
}
88+
}
6889
}

0 commit comments

Comments
 (0)