{"id":22295778,"url":"https://github.com/danielfernandez/test-boot-netty-windows","last_synced_at":"2025-03-25T22:34:02.106Z","repository":{"id":146695456,"uuid":"78159362","full_name":"danielfernandez/test-boot-netty-windows","owner":"danielfernandez","description":"Test repository for issues with Spring Boot + Netty on Windows","archived":false,"fork":false,"pushed_at":"2017-01-07T10:17:04.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T19:49:05.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielfernandez.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-06T00:26:24.000Z","updated_at":"2017-01-06T00:27:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"d92bdd7a-6f70-4010-979b-e88eab4df365","html_url":"https://github.com/danielfernandez/test-boot-netty-windows","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfernandez%2Ftest-boot-netty-windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfernandez%2Ftest-boot-netty-windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfernandez%2Ftest-boot-netty-windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfernandez%2Ftest-boot-netty-windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielfernandez","download_url":"https://codeload.github.com/danielfernandez/test-boot-netty-windows/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245554856,"owners_count":20634624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T17:43:09.776Z","updated_at":"2025-03-25T22:34:02.064Z","avatar_url":"https://github.com/danielfernandez.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Test repository for Spring Web Reactive + Netty hanging while returning JSON in Windows\r\n---------------------------------------------------------------------------------------\r\n\r\nIssue Links:\r\n\r\n   * https://jira.spring.io/browse/SPR-15108\r\n\r\n\r\nThis repository is aimed at testing how Netty hangs while trying to return amounts of\r\nJSON greater than 2 Kilobytes in a Spring Boot 2.0 + Spring 5 Web Reactive application,\r\nrunning on **Windows**.\r\n\r\n\r\n## How to test\r\n\r\nThis application uses Spring Boot 2.0 snapshot, and was created using http://start.spring.io with\r\nthe *Reactive Web* module enabled.\r\n\r\nTo compile and run:\r\n\r\n```\r\n$ mvn -U clean compile spring-boot:run\r\n```\r\n\r\nThe application offers a `/list/{size}` URL which returns a JSON array of very simple data items. These\r\nitems actually come from a `Flux\u003cEntity\u003e` object returned by the controller, and are created at the\r\n`EntityRepository` class from a `List\u003cEntity\u003e` and then repeated the amount of times specified at the URL.\r\n\r\nIn order to call it, e.g. with `size = 20`:\r\n\r\n```\r\n$ curl http://localhost:8080/list/20\r\n```\r\n\r\n## Observed Results\r\n\r\nNote this has to be tested on Windows. Specifically, **Windows 10** has been used for these tests. This\r\nworks OK in other operating systems.\r\n\r\nWhen the total amount of JSON to be transmitted is below 2 KBytes, it works OK:\r\n\r\n```\r\n$ curl http://localhost:8080/list/41 \u003e out\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n100  1969    0  1969    0     0  63516      0 --:--:-- --:--:-- --:--:--  128k\r\n```\r\n\r\nBut when we increase the size, it simply hangs:\r\n\r\n```\r\n$ curl http://localhost:8080/list/50 \u003e out1\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n100  2017    0  2017    0     0     13      0 --:--:--  0:02:28 --:--:--     0\r\n^C (Interrupted)\r\n```\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielfernandez%2Ftest-boot-netty-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielfernandez%2Ftest-boot-netty-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielfernandez%2Ftest-boot-netty-windows/lists"}