This is an automated email from the ASF dual-hosted git repository.
apolovtsev pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new de072920c0 IGNITE-20703 LeaseUpdaterTest causes a NullPointerException
(#2732)
de072920c0 is described below
commit de072920c0fcae32483e7dbd0c4b169fd7c5c852
Author: Roman Puchkovskiy <[email protected]>
AuthorDate: Sat Oct 21 19:15:12 2023 +0400
IGNITE-20703 LeaseUpdaterTest causes a NullPointerException (#2732)
---
.../apache/ignite/internal/placementdriver/LeaseUpdaterTest.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
index ce8df49150..dd1a923bd9 100644
---
a/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
+++
b/modules/placement-driver/src/test/java/org/apache/ignite/internal/placementdriver/LeaseUpdaterTest.java
@@ -100,7 +100,7 @@ public class LeaseUpdaterTest extends
BaseIgniteAbstractTest {
/** Lease updater for tests. */
private LeaseUpdater leaseUpdater;
/** Closure to get a lease that is passed in Meta storage. */
- private Consumer<Lease> renewLeaseConsumer = null;
+ private volatile Consumer<Lease> renewLeaseConsumer = null;
@BeforeEach
void setUp() {
@@ -121,13 +121,15 @@ public class LeaseUpdaterTest extends
BaseIgniteAbstractTest {
lenient().when(metaStorageManager.invoke(any(Condition.class),
any(Operation.class), any(Operation.class)))
.thenAnswer(invocation -> {
- if (renewLeaseConsumer != null) {
+ Consumer<Lease> leaseConsumer = renewLeaseConsumer;
+
+ if (leaseConsumer != null) {
OperationImpl op = invocation.getArgument(1);
Lease lease =
LeaseBatch.fromBytes(ByteBuffer.wrap(op.value()).order(ByteOrder.LITTLE_ENDIAN)).leases().iterator()
.next();
- renewLeaseConsumer.accept(lease);
+ leaseConsumer.accept(lease);
}
return completedFuture(true);