tree d87e1f0d2102d68c497c504f48ebdb722a86c7ef
parent b4c92b84d7bf6d4f68fa7580fa7a2caaea2e5631
author Junfan Zhang <zuston@apache.org> 1713319477 +0800
committer GitHub <noreply@github.com> 1713319477 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmHy42CRC1aQ7uu5UhlAAAzJIQABAwxubmD2usjF9BDb+A5Ey8
 Mk0+ouWsCpwHPmkJLDPfG1iQaqAT4K5IzdGdYxs0Fllxs6DIaJAT7isjNRPCBmNv
 /mTn+QVryV5vnRTH0ZlkJBx8dJyAT08BLFtbhlGuZbf8z0FVxpl7/1O8n97lHd9H
 ll2jwJRYdWedkJMJ88dr5NmQcgjILgD6XWYdstGmGGxX4Ylm2pqq2NHvShvD/FOQ
 L515RlSvl4pW79DHthAATECY/I41h1ZQ0ocZIuqVC3/V1t2vFz3UGUkOZe97RfBM
 beztvh0QZ+5p2eb2Dn1K1zPFkN1HYh4vKjdlzjtx4cyXCmDdVGluSDEJ/R0CiwUc
 C2kzauVIN3jnHHDWS+dnf0DjAi+d7O/O6UxB/4/4JtopwWAmmxRnTQi9YurwTbyP
 +xQR+m8ros0xG0LEIkM/U+4Gnwa/nBpPjIk7lvOzk8YA5zvUbkYt59R8sFEqRluP
 q+niEYfpMATMdSWOkge6WFQaTU7vZ1z9O7dP5co11PZGaOK19wh7nFOQR54xRH58
 NFZgRHgALdqAz2GazfynTcr7vZZekqWkAIU82odIOSCds1lCtvvMH+BCE3B0JA5S
 FsKHGbjfD8odkriM5hvU8yUljwTCCVzYFsK/wA8B5DuKXv7yMKx5grqHoM0c8bgc
 svOBjgmp+ICR628JOnXr
 =aQbk
 -----END PGP SIGNATURE-----
 

[#1608][part-3] feat(spark3): support reading data from multiple reassigned servers (#1615)

### What changes were proposed in this pull request?

Support reading from partition block data reassignment servers.

### Why are the changes needed?

For: #1608

Writer has been writing data into reassignment servers, so it's necessary to read from reassignment servers.
And the blockId will be stored in their owned partition servers, so this PR can read blockIds from these servers and 
support min-replica requirements at the same time.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

`PartitionBlockDataReassignTest` integration test.
