apache / apache/texera

Optimized Python accepts ambiguous operator definitions

Open
#8,207 1 comment 0 reactions 1 assignee Claimed by @carloea2 View on GitHub
Dominant language
Scala
Stars
314
Forks
187
Avg merge
1d 21h
Merged PRs (30d)
214

Description

### Feature Summary

Executor loading validates that user code defines exactly one operator with an assert. Optimized Python removes that validation, so code with multiple operators silently selects the first definition and can run unintended logic.

Before: multiple operator definitions -> first operator is silently selected

After: multiple operator definitions -> ValueError rejects ambiguous code

Reproduction evidence:

1. Run the Python worker with optimization enabled.
2. Load user code defining two concrete operators.
3. Observe that the first operator is returned without an error.

A direct run on main produced:

```text
optimized= True
selected_definition= FirstOperator
error_raised= False
```

Version and commit evidence:

1.3.0-incubating-SNAPSHOT (main)

**Commit Hash**

70c21145887920528d7d5540e3fb790b43e8b759

**What browsers are you seeing the problem on?**

Not browser-specific.

**Relevant log output**

None.

### Proposed Solution or Design

After: multiple operator definitions -> ValueError rejects ambiguous code

### Affected Area

Workflow Engine (Amber)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.