This is an automated email from the ASF dual-hosted git repository.
apkhmv 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 49fce1521c2 IGNITE-28390 Better fix for compute job spotbugs (#7893)
49fce1521c2 is described below
commit 49fce1521c272492230f956815e42625cdb822ab
Author: Vadim Pakhnushev <[email protected]>
AuthorDate: Thu Apr 2 19:33:03 2026 +0300
IGNITE-28390 Better fix for compute job spotbugs (#7893)
---
modules/compute/jobs.gradle | 1 -
.../ignite/internal/compute/ItComputeBaseTest.java | 4 ++--
.../jobs/embedded/ObservableTimestampResult.java | 12 ++++++++++--
.../jobs/standalone/ObservableTimestampResult.java | 18 ++++++++++--------
4 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/modules/compute/jobs.gradle b/modules/compute/jobs.gradle
index cd519b0e280..50e758e70b8 100644
--- a/modules/compute/jobs.gradle
+++ b/modules/compute/jobs.gradle
@@ -53,7 +53,6 @@ dependencies {
jobsImplementation project(':ignite-transactions')
jobsImplementation project(':ignite-runner')
jobsImplementation testFixtures(project(':ignite-runner'))
- jobsCompileOnly libs.spotbugs.annotations
unit1Implementation project(':ignite-api')
unit2Implementation project(':ignite-api')
}
diff --git
a/modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/ItComputeBaseTest.java
b/modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/ItComputeBaseTest.java
index 6b64fe363dc..a554ea93c7a 100644
---
a/modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/ItComputeBaseTest.java
+++
b/modules/compute/src/integrationTest/java/org/apache/ignite/internal/compute/ItComputeBaseTest.java
@@ -930,11 +930,11 @@ public abstract class ItComputeBaseTest extends
ClusterPerClassIntegrationTest {
ObservableTimestampResult jobRes = execution.resultAsync().join();
// The per-job tracker should have the client's observable timestamp.
- HybridTimestamp jobObservableTs =
HybridTimestamp.nullableHybridTimestamp(jobRes.perJobTimestamp);
+ HybridTimestamp jobObservableTs =
HybridTimestamp.nullableHybridTimestamp(jobRes.perJobTimestamp());
assertThat(jobObservableTs, is(localObservableTs));
// The node's global tracker should NOT be updated by the compute job.
- HybridTimestamp targetNodeTsAfter =
HybridTimestamp.nullableHybridTimestamp(jobRes.nodeGlobalTimestamp);
+ HybridTimestamp targetNodeTsAfter =
HybridTimestamp.nullableHybridTimestamp(jobRes.nodeGlobalTimestamp());
assertThat(targetNodeTsAfter, is(targetNodeTsBefore));
assertThat(targetNodeTsAfter, not(jobObservableTs));
}
diff --git
a/modules/compute/src/integrationTest/java/org/example/jobs/embedded/ObservableTimestampResult.java
b/modules/compute/src/integrationTest/java/org/example/jobs/embedded/ObservableTimestampResult.java
index 73e1df6299b..14c9219ed69 100644
---
a/modules/compute/src/integrationTest/java/org/example/jobs/embedded/ObservableTimestampResult.java
+++
b/modules/compute/src/integrationTest/java/org/example/jobs/embedded/ObservableTimestampResult.java
@@ -21,8 +21,8 @@ package org.example.jobs.embedded;
* Result of {@link ObservableTimestampJob} containing both per-job and node
global observable timestamps.
*/
public class ObservableTimestampResult {
- public long perJobTimestamp;
- public long nodeGlobalTimestamp;
+ private long perJobTimestamp;
+ private long nodeGlobalTimestamp;
public ObservableTimestampResult() {
}
@@ -31,4 +31,12 @@ public class ObservableTimestampResult {
this.perJobTimestamp = perJobTimestamp;
this.nodeGlobalTimestamp = nodeGlobalTimestamp;
}
+
+ public long perJobTimestamp() {
+ return perJobTimestamp;
+ }
+
+ public long nodeGlobalTimestamp() {
+ return nodeGlobalTimestamp;
+ }
}
diff --git
a/modules/compute/src/jobs/java/org/example/jobs/standalone/ObservableTimestampResult.java
b/modules/compute/src/jobs/java/org/example/jobs/standalone/ObservableTimestampResult.java
index b5ba3b3df35..a507a6bb2d6 100644
---
a/modules/compute/src/jobs/java/org/example/jobs/standalone/ObservableTimestampResult.java
+++
b/modules/compute/src/jobs/java/org/example/jobs/standalone/ObservableTimestampResult.java
@@ -17,18 +17,12 @@
package org.example.jobs.standalone;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
/**
* Result of {@link ObservableTimestampJob} containing both per-job and node
global observable timestamps.
*/
-@SuppressFBWarnings(
- value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD",
- justification = "Fields are read in integration tests via deserialized
object"
-)
public class ObservableTimestampResult {
- public long perJobTimestamp;
- public long nodeGlobalTimestamp;
+ private long perJobTimestamp;
+ private long nodeGlobalTimestamp;
public ObservableTimestampResult() {
}
@@ -37,4 +31,12 @@ public class ObservableTimestampResult {
this.perJobTimestamp = perJobTimestamp;
this.nodeGlobalTimestamp = nodeGlobalTimestamp;
}
+
+ public long perJobTimestamp() {
+ return perJobTimestamp;
+ }
+
+ public long nodeGlobalTimestamp() {
+ return nodeGlobalTimestamp;
+ }
}