Skip to content

Delegating File downloads sends incomplete chunks [SPR-15949] #22194

Closed
@spring-projects-issues

Description

@spring-projects-issues

Alexander Wilhelmer opened SPR-15949 and commented

I noticed problems when u using this construct:

public Flux<DataBuffer> getFileContent(String url) {
     Mono<ClientResponse> exchange = webClientService.getWebClient().get().uri(url).accept(MediaType.APPLICATION_OCTET_STREAM).exchange();
     return exchange.flatMapMany(clientResponse -> {
        return clientResponse.bodyToFlux(DataBuffer.class);
     });
   }

You have to use a HTTP source with transcoding: chunked header without a content-length header. The problem of incomplete chunks only appears when you deploy the spring application on a windows system. I can't reproduce it on linux e.g. ubuntu. I'm using Windows Server 2008 R2 and Windows Server 2003, both with java 1.8 update 144. Requests against localhost works too, you have to stream over network!

Example: I deployed the app on windows. Just call http://217.79.182.40:8091/download/stream/102400 a few times. You will get a Network Error sometimes (1-3 errors on ten attempts). I'll keep that server online for max 7 days.

Source see at reference URL.


Affects: 5.0 RC3

Reference URL: https://github.com/awilhelmer/streambug

Attachments:

Issue Links:

Referenced from: commits ec2218c

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: webIssues in web modules (web, webmvc, webflux, websocket)type: bugA general bug

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions