Skip to content

feat: [Tabular] Added Tabular orchestration module - #1028

Open
CharlesDuboisSAP wants to merge 35 commits into
mainfrom
rpt-orchestration
Open

CharlesDuboisSAP wants to merge 35 commits into
mainfrom
rpt-orchestration

Conversation

@CharlesDuboisSAP

@CharlesDuboisSAP CharlesDuboisSAP commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Context

New AI Core service

Definition of Done

@CharlesDuboisSAP CharlesDuboisSAP self-assigned this Sep 4, 2026
@CharlesDuboisSAP CharlesDuboisSAP added the please-review Request to review a pull-request label Sep 4, 2026

@Jonas-Isr Jonas-Isr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

New convenience API looks good! Besides that had only smaller comments.

Once the spec seems stable we can release this in my opinion :)

Comment thread .github/workflows/spec-update.yaml Outdated
Comment thread .pipeline/spotbugs-exclusions.xml Outdated
@CharlesDuboisSAP

Copy link
Copy Markdown
Contributor Author

New convenience API looks good! Besides that had only smaller comments.

Once the spec seems stable we can release this in my opinion :)

@Jonas-Isr I think we could already merge it as beta.
You should also look into the resource group for predict API before merging

: getService().getInferenceDestination(resourceGroup).forScenario(PREDICT_SCENARIO_ID);
val destination =
DefaultHttpDestination.fromDestination(inferenceDestination).headers(customHeaders).build();
return new PredictApi(ApiClient.create(destination));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

(Question)

This means, the resource group is set once for the PredictApi object. I assume this is because the two specs are different, right?

That's a bit annoying because of the inconsistency in usage but I like the way the public API looks, given this inconsistency is nothing we can change.

@CharlesDuboisSAP CharlesDuboisSAP Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

No, it's because if I let the spec define the resource group, then the code generates like so:

 new TabularClient().predict().predict(resourceGroup, request);

The first predict gets the deployment on the default resource group, then the request with custom resource group will fail because it uses the default deployment.

Now if you set the resource group for fetching the deployment:

 new TabularClient().predict(resourceGroup).predict(resourceGroup, request);

Then the resource group propagates to the client and it's set twice, again the request fails because AI Core doesn't like it.

That's why I chose setting it once for the client and let it propagate to the request which is inconsistant:

 new TabularClient().predict(resourceGroup).predict(request);

import org.junit.jupiter.api.Test;

@Slf4j
class TabularTest {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

(Minor)

Can we rename this to TabularOrchestrationTest? Since also the RptTest class is somewhat about tabular stuff.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Just the test class or everything?

@Jonas-Isr

Copy link
Copy Markdown
Member

After discussion, I would rather wait until the Predict spec is stabilised and working properly.

@CharlesDuboisSAP CharlesDuboisSAP added dont-merge and removed please-review Request to review a pull-request labels Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants