我一直在使用比整个文件大1/100的highWaterMark读取文件 - 当使用默认的highWaterMark时,有时块会丢失,因为我将文件块按块上传到第三方服务
问题是,每个文件的第一个块使用 65536 的默认highWaterMark,它几乎总是大于我想要的块大小。在第一个块之后,文件的其余部分受到highWaterMark的影响。
在开始阅读文件之前更改了highWaterMark。我想也许有一个竞争条件,highWaterMark正在改变并且第一个块被读取 - 可能延迟读取文件将有助于强制执行第一个块的highWaterMark。但是阅读文件并上传它们的速度很慢,如果可能的话,我希望避免额外的性能成本。
有谁知道为什么会这样,或者是一个潜在的解决方案?