Skip to content

IGNITE-27814 Introduce JobTarget.Partition to allow job execution on specific partitions#7989

Open
rezataroosheh wants to merge 11 commits intoapache:mainfrom
rezataroosheh:IGNITE-27814
Open

IGNITE-27814 Introduce JobTarget.Partition to allow job execution on specific partitions#7989
rezataroosheh wants to merge 11 commits intoapache:mainfrom
rezataroosheh:IGNITE-27814

Conversation

@rezataroosheh
Copy link
Copy Markdown
Contributor

JobTarget.The Partition(QualifiedName tableName, int partitionId) method has been added, allowing users to route compute jobs directly to the primary replica of a specific partition.

Direct Partition Access: Allows advanced users to perform operations on a specific partition (e.g., maintenance, custom aggregations, or data cleanup) when the partition ID is already known.

API Completeness: Complements the existing BroadcastJobTarget.Table(), which targets all partitions by allowing a single targeted-partition execution.

https://issues.apache.org/jira/browse/IGNITE-27814

@ptupitsyn
Copy link
Copy Markdown
Contributor

@rezataroosheh please communicate with the community before starting the work on a ticket. You can leave a comment in JIRA if the ticket is already assigned to someone, or drop a message on dev@ignite.apache.org. Then assign the ticket to yourself and change status to In Progress. Thanks!

@rezataroosheh
Copy link
Copy Markdown
Contributor Author

rezataroosheh commented Apr 15, 2026

Hi @ptupitsyn,

Unfortunately, I’ve submitted two requests through the self-service sign-in page to get an ASF account for contributing to Apache Ignite, but I haven’t received any response so far.

Similarly, I currently don’t have access to TeamCity. Could you please help me in this regard?

@rezataroosheh rezataroosheh marked this pull request as ready for review April 20, 2026 12:30
@ptupitsyn ptupitsyn requested a review from Copilot April 21, 2026 09:51
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds partition-targeted compute execution and table-partition broadcast targeting, enabling compute requests to be routed to a table partition’s primary replica for improved partition awareness and API completeness.

Changes:

  • Introduces JobTarget.Partition(...) and client-side handling for partition-targeted compute execution (ClientOp.ComputeExecutePartitioned).
  • Adds BroadcastJobTarget.Table(...) support to execute a job across all partitions of a table.
  • Extends tests and fake server infrastructure to validate routing, error handling, and broadcast behaviors.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java Adds a Java test job that returns the executing partition id.
modules/platforms/dotnet/Apache.Ignite/Internal/Table/Table.cs Adds preferred-node resolution based on a partition’s primary replica.
modules/platforms/dotnet/Apache.Ignite/Internal/Proto/ClientOpExtensions.cs Maps new op code to public compute operation type.
modules/platforms/dotnet/Apache.Ignite/Internal/Proto/ClientOp.cs Introduces ComputeExecutePartitioned op code.
modules/platforms/dotnet/Apache.Ignite/Internal/Compute/Compute.cs Implements partition-targeted submit and table broadcast-by-partitions.
modules/platforms/dotnet/Apache.Ignite/Compute/JobTarget.cs Adds JobTarget.Partition(...) API surface.
modules/platforms/dotnet/Apache.Ignite/Compute/BroadcastJobTarget.cs Adds BroadcastJobTarget.Table(...) API surface.
modules/platforms/dotnet/Apache.Ignite.Tests/Table/PartitionDistributionTests.cs Adds validation tests for partition-targeted job submission errors.
modules/platforms/dotnet/Apache.Ignite.Tests/PartitionAwarenessTests.cs Adds routing tests for partition-targeted compute and updates op assertions.
modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs Updates fake server to handle the new compute op.
modules/platforms/dotnet/Apache.Ignite.Tests/Compute/ComputeTests.cs Adds tests for table broadcast target and cancellation/cleanup coverage.
modules/platforms/dotnet/Apache.Ignite.Tests.Common/Compute/JavaJobs.cs Exposes the new Java job descriptor to .NET tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread modules/platforms/dotnet/Apache.Ignite/Compute/JobTarget.cs
Comment thread modules/platforms/dotnet/Apache.Ignite.Tests/Compute/ComputeTests.cs Outdated
Comment thread modules/platforms/dotnet/Apache.Ignite.Tests/PartitionAwarenessTests.cs Outdated
Comment thread modules/platforms/dotnet/Apache.Ignite.Tests/FakeServer.cs Outdated
Comment thread modules/platforms/dotnet/Apache.Ignite/Compute/BroadcastJobTarget.cs Outdated
@rezataroosheh rezataroosheh requested a review from ptupitsyn April 26, 2026 22:01
@rezataroosheh
Copy link
Copy Markdown
Contributor Author

Hi @ptupitsyn, just wanted to check in — all the feedback has been addressed, and the broadcast-related code has been removed. Could you take another look when you get a chance? Also, I noticed that IGNITE-23987 (.NET: Support broadcast partitioned) is the natural follow-up to this work, and since I'm already deep in this area of the codebase, I'd love to take it on if you're open to reassigning it to me once this PR lands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants