Skip to content

Conversation

@ywkaras
Copy link
Contributor

@ywkaras ywkaras commented Aug 7, 2024

The SetBodyFrom operator needs to defer calling Txn reenable until the fetch of the URL providing the response body completes.

@ywkaras ywkaras self-assigned this Aug 7, 2024
@ywkaras ywkaras added the header_rewrite header_rewrite plugin label Aug 7, 2024

void
// Returns number of executed operators that need to defer call to TSHttpTxnReenable(). It is a fatal error if this
// returns more than 1.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe add a comment specifying that if another rule gets created that needs to be deferred, issue #11549 should be revisited.

The SetBodyFrom operator needs to defer calling Txn reenable
until the fetch of the URL providing the response body
completes.
@ywkaras ywkaras force-pushed the header_rewrite_defer_reenable branch from d5aeb62 to ed102cd Compare August 12, 2024 16:56
@masaori335 masaori335 added this to the 10.1.0 milestone Aug 13, 2024
@ywkaras ywkaras merged commit 50f5f23 into apache:master Aug 13, 2024
masaori335 pushed a commit to masaori335/trafficserver that referenced this pull request Dec 10, 2024
* Revert "Update set-custom-body response body to exclude headers (apache#780)"

This reverts commit cb552b6.

* Revert "Add set-body-custom to header_rewrite options"

This reverts commit 5bd9999.

* Add set-custom-body config item to header_rewrite (apache#11472)

* Add set-body-custom to header_rewrite options

(cherry picked from commit 5bd9999)
(cherry picked from commit 08c614ef0089b175a5b6cee205b748416efb87cd)

* Update set-custom-body response body to exclude headers (apache#780)

* Update response body to exclude headers

* Update tests to check both response with headers and response body only

* Update header_rewrite_custom_body.test.py

* Fix tests to check headers and body

(cherry picked from commit cb552b6)
(cherry picked from commit e12f4798d0d46bd90c810f8f3a7a067ea3b2c76f)

* Remove debug check due to known issue

(cherry picked from commit 964b12cc21a9a7c3f9d3fd50286e4cd2d2757bcc)

* Fix formatting

Remove whitespaces

doc formatting fix

Doc formatting fix

* Rename to set-body-from

* Add test for failed second call

* Add more test cases

* Clarify test cases

* Update tests

* Update header_rewrite.en.rst

* Fix flakey test

---------

Co-authored-by: Jasmine Emanouel <jemanouel@apple.com>
(cherry picked from commit 0d8a6ac)

* header_rewrite: Allow Txn reenable to be deferred. (apache#11658)

The SetBodyFrom operator needs to defer calling Txn reenable
until the fetch of the URL providing the response body
completes.

(cherry picked from commit 50f5f23)

* cherry-pick cleanup

* cherry-pick cleanup

* Cleanup of header_rewrite redirect operator when invoked globally. (apache#11551)

Also includes new Au test coverage.

(cherry picked from commit 94dfd0e)

* fix return value

---------

Co-authored-by: Jasmine Emanouel <40879549+jasmine-nahrain@users.noreply.github.com>
Co-authored-by: Walt Karas <wkaras@yahooinc.com>
masaori335 pushed a commit to masaori335/trafficserver that referenced this pull request May 29, 2025
* Add set-custom-body config item to header_rewrite (apache#11472)

* Add set-body-custom to header_rewrite options

(cherry picked from commit 5bd9999)
(cherry picked from commit 08c614ef0089b175a5b6cee205b748416efb87cd)

* Update set-custom-body response body to exclude headers (apache#780)

* Update response body to exclude headers

* Update tests to check both response with headers and response body only

* Update header_rewrite_custom_body.test.py

* Fix tests to check headers and body

(cherry picked from commit cb552b6)
(cherry picked from commit e12f4798d0d46bd90c810f8f3a7a067ea3b2c76f)

* Remove debug check due to known issue

(cherry picked from commit 964b12cc21a9a7c3f9d3fd50286e4cd2d2757bcc)

* Fix formatting

Remove whitespaces

doc formatting fix

Doc formatting fix

* Rename to set-body-from

* Add test for failed second call

* Add more test cases

* Clarify test cases

* Update tests

* Update header_rewrite.en.rst

* Fix flakey test

---------

Co-authored-by: Jasmine Emanouel <jemanouel@apple.com>
(cherry picked from commit 0d8a6ac)

* Cleanup of header_rewrite redirect operator when invoked globally. (apache#11551)

Also includes new Au test coverage.

(cherry picked from commit 94dfd0e)

* header_rewrite: Allow Txn reenable to be deferred. (apache#11658)

The SetBodyFrom operator needs to defer calling Txn reenable
until the fetch of the URL providing the response body
completes.

(cherry picked from commit 50f5f23)

---------

Co-authored-by: Jasmine Emanouel <40879549+jasmine-nahrain@users.noreply.github.com>
Co-authored-by: Walt Karas <wkaras@yahooinc.com>
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.

New header_rewrite set-body-from operator could hypothetically lock up Transaction State Machine

5 participants