tree bd62c8d358520e3c76e01b0f636dc55a176da3f7
parent f9d71daaa5df52f1cb938dcc655324d72cf45ff7
author Junfan Zhang <zuston@apache.org> 1712560150 +0800
committer GitHub <noreply@github.com> 1712560150 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmE5gWCRC1aQ7uu5UhlAAALcIQAJyvY1Ub4WVfb8eM4L8w8tlF
 60zaF8PEBBYh0SC526k2gfkQOHZJ5Ci0bqxLbb1cx+Wm/cKCdo6GkcHcExi3HX1S
 ihFvptcPcyZJSw3QsKPtvkvUgU8kcsDzUdQw3gywK1d2zaYFiBJLDAkerVFMKN6P
 8RkAavWJzDnA4rf0VRKt2FFdHDDAocg8+nrdA2LR7GROu6Yso3/GlVjRTWJkAprZ
 Q8tglRZDKLgLtd2VumKMIr+FTY3CTIAvnZwx+tD4pugYI/cZnY1B1aaNagk1MUli
 xVzlnHCnAo1FdhQp62N1zTvB62DsgUuPOQWGYEwlR4YdHEHji90ApPONSb7sEZzo
 d98PCkXVY5FgjWAF50z9fRfASviBkpG6GDYhFKMj2E2Cwy5Lz3F2No8hAQOKyZg2
 Ll0veLMCticH4aAse3M2Id+g3+k4DGhUARfSWorjcfHNqbcuZCOR21/0D7DwvPft
 qUw5NzbFtUYq1+4OsYsRJSPjMIMNgMnnbusA9ZGU0eeFimeXdwbry46X8x8+FVlX
 MPoRyQ7aJDf6NgzSdeme/nVcUvTkaa3fObm8xpEemqWw7KWPaRhOXi7O/UCUSEJ9
 3PK7p1AIbl02ozQUXVffzou45tRqYy90GA25YvoEvcI+E3dBL5xAXHkwQq1ZTEjj
 jxBtJijrff2lvBRWKenY
 =RaRS
 -----END PGP SIGNATURE-----
 

[#1608][part-2] fix(spark): avoid releasing block in advance when enable block resend (#1610)

### What changes were proposed in this pull request?

1. avoid releasing block previously when enable block resend
2. introduce the block max retry times

### Why are the changes needed?

For: #1608

In the current codebase for partition reassignment, it has some bugs as follows
1. data has been released when resending.
2. if the blocks fail to resend, it may fast fail without retry again

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

`RssShuffleWriterTest#blockFailureResendTest` is to test the resending block mechanism.
