Bash process substitution for --defaults-file and --defaults-extra-file args doesn't work anymore

Description

Hello,

With xtrabackup 2.4, bash process substitution was working. It doesn't work anymore with the versions 8.0 and 8.4.

To reproduce the problem:

Results:

With mysql 5.7 / xtrabackup 2.4.4:

With mysql 8.0 / xtrabackup 8.0.35-32:

With mysql 8.4 / xtrabackup 8.4.0-2:

Environment

Tested on Ubuntu 22.04.

Activity

Jean-Luc Derrien 
March 10, 2025 at 2:20 PM

Hello ,

Sure, in fact I already use this workaround.

Thank you for the explaination. 👍

Satya Bodapati 
March 10, 2025 at 10:31 AM

Hello, this is because of the extra validation of parameters. In 8.0, the defaults file passed is opened and closed twice.
So after the first opening and close, incase of the file descriptor, the first close() makes the descriptor unavailable for the second read.

Can you please workaround the issue by redirecting to a temporary file and pass it to xtrabackup?

Details

Assignee

Reporter

Regression Issue

Yes

Needs QA

Priority

Created March 6, 2025 at 10:57 AM
Updated March 10, 2025 at 2:20 PM