tree 11e214a0c70e7c39c3aea3d7590442faa68c42a8
parent b36d46102b79cdf72b43d8bee9a0d1ea6603729b
author RickyMa <rickyma@tencent.com> 1709795599 +0800
committer GitHub <noreply@github.com> 1709795599 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJl6WkPCRC1aQ7uu5UhlAAADG4QAElhZD/gb/lSSrkpm8fQTYCa
 qeajirlVKUwvGSYpby1yaEdXTm4j2ddlk+0JChaZRy3xtdhGzcWqZ2YBJDIxlucX
 CeVMt3DDM/YVE9r2M9BMSjHDImurTMD0iMPsuKlCO0Gt2oAv9Q/tatq0LP1xCFaP
 brXJb44pm8OHuxHqE4UnkKVZc7olOc88GEUdeI0O+2ugWCSA2XEThQyZoLi1Y3wZ
 ncbMr56Z9cO5yPoyZHcaFoX+Zf1HPKIXyl++oytYaScC44+1cMCGlV/1j7viWQWe
 FeIEGCYNAN5DCmDl4L1XCEoAszxtyGPvHcDd1uHgKB+maIExAw75GLQIOoJzQ/1E
 QCLC8grmIK5DNB09VQGNhoEPJFbWGZIOq1eN3w77aXHMR/+uj5Ndtq3Xm1W12EEE
 O6iBY4Ko4T6DKjuTc8qkC7KRBJ9JxrzTQhJ6vRLXc3GKiwCjytKpGrTByTUomW+d
 H8A7MnNDi+jdCPgAQhta3IuPpthYVbDwpcKrSpdlDQ9W4NYP90I1+X4XX3y7FyW8
 W8tbjY2HBC/sveyx5Fp6Dlzdgp+0NJFPJeuSubMgudXxVHD2Mq3xpjfl9UQyk+8P
 S4Lm7nUaFE6M+BfUN2OgmGcZZQHyihpwbuCeSWcpUW49ImfcxoId+KoyBwS1U0tH
 SpOHlxkc0gcosQBl+bZ1
 =Wd5O
 -----END PGP SIGNATURE-----
 

[#808] improvement(spark): Verify the number of written records to ensure data correctness (#1558)

### What changes were proposed in this pull request?

Verify the number of written records to enhance data accuracy.
Make sure all data records are sent by clients.
Make sure bugs like https://github.com/apache/incubator-uniffle/pull/714 will never be introduced into the code.

### Why are the changes needed?

A follow-up PR for https://github.com/apache/incubator-uniffle/pull/848.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Existing UTs.
