Skip to content

fix(QTDI-1656): what is a processor #1063

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ The component type is declared in the component class. When you import your proj

*Processor*/*Output* components can be:
Copy link
Author

@thboileau thboileau Jun 13, 2025

Choose a reason for hiding this comment

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

to be honest, this is not clear at all. and the whole chapter should be rephrased.

I expect an answer to the following question: what are the characteristics of a Processor? What's the contract?
And I see two characteristics:

  • a class with a @Processor annotation that allows to name the processor.
  • a mandatory method annotated @ElementListener with an input record and and output record.

Then, what's the purpose to mention Combiner which is an answer to another question: What is not a processor or an output?

Then it is not clear what are the characteristics of an output? There is just no answer to this question. If we want to say that a processor can serve as an output, we must add what are the differences between processor and output.

Another point related to the previous comment, the documentation does not mention clearly another aspect of components: how to link them.
From my current understanding, there are two kind of links:

  • records that can be generated by an input component, a processor. the second component is "activated" when a record is generated, and it should be either a processor or an output component
  • "subjob" links (OK or KO): the second component is activated when the first one is over. second component could whatever that can start without record: input or standalone components.


- A processor. `@Processor` is the default for output components. A method decorated with `@Processor` is considered as a producer factory.
- A processor. `@Processor` is the default for output components.
- Combiners are not supported by the framework. Combiners allow to aggregate results in a single partition.

*Standalone* component can be only a driver runner.
Expand Down
Loading