gnodet-bot commented on code in PR #27644: URL: https://github.com/apache/camel/pull/27644#discussion_r4235733036
########## catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jooq-component.adoc: ########## @@ -93,6 +93,8 @@ See the examples below. Consuming messages from a JOOQ consumer endpoint removes (or updates) entity beans in the database. This allows you to use a database table as a logical queue: consumers take messages from the queue and then delete/update them to logically remove them from the queue. If you do not wish to delete the entity bean when it has been processed, you can specify consumeDelete=false on the URI. +An entity bean is only deleted when its exchange completed successfully: if the exchange failed, the entity stays in +the table and is consumed again by the next poll. Review Comment: ⚠️ **Documentation gap — infinite retry not mentioned** The component docs omit a critical operational concern: a perpetually-failing entity is re-polled **indefinitely** at every poll cycle. The upgrade guide (correctly) tells users to handle this with `onException(...).handled(true)`, but users reading only the component docs won't see that guidance. Add the mitigation here. ```suggestion An entity bean is only deleted when its exchange completed successfully: if the exchange failed, the entity stays in the table and is consumed again by the next poll. An entity that always fails is re-polled indefinitely; handle the failure in the route (for example with `onException(...).handled(true)`) to delete the entity regardless of the outcome. ``` ########## components/camel-jooq/src/main/docs/jooq-component.adoc: ########## @@ -93,6 +93,8 @@ See the examples below. Consuming messages from a JOOQ consumer endpoint removes (or updates) entity beans in the database. This allows you to use a database table as a logical queue: consumers take messages from the queue and then delete/update them to logically remove them from the queue. If you do not wish to delete the entity bean when it has been processed, you can specify consumeDelete=false on the URI. +An entity bean is only deleted when its exchange completed successfully: if the exchange failed, the entity stays in +the table and is consumed again by the next poll. Review Comment: ⚠️ **Documentation gap — infinite retry not mentioned** The component docs omit a critical operational concern: a perpetually-failing entity is re-polled **indefinitely** at every poll cycle. The upgrade guide (correctly) tells users to handle this with `onException(...).handled(true)`, but users reading only the component docs won't see that guidance. Add the mitigation here. ```suggestion An entity bean is only deleted when its exchange completed successfully: if the exchange failed, the entity stays in the table and is consumed again by the next poll. An entity that always fails is re-polled indefinitely; handle the failure in the route (for example with `onException(...).handled(true)`) to delete the entity regardless of the outcome. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
