{"action":"created","issue":{"url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/1109","repository_url":"https://api.github.com/repos/aws/aws-sdk-java-v2","labels_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/1109/labels{/name}","comments_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/1109/comments","events_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/1109/events","html_url":"https://github.com/aws/aws-sdk-java-v2/issues/1109","id":416731377,"node_id":"MDU6SXNzdWU0MTY3MzEzNzc=","number":1109,"title":"closeEventLoopUninterruptibly Hanging on WebFlux Netty","user":{"login":"garrettbts","id":7095829,"node_id":"MDQ6VXNlcjcwOTU4Mjk=","avatar_url":"https://avatars2.githubusercontent.com/u/7095829?v=4","gravatar_id":"","url":"https://api.github.com/users/garrettbts","html_url":"https://github.com/garrettbts","followers_url":"https://api.github.com/users/garrettbts/followers","following_url":"https://api.github.com/users/garrettbts/following{/other_user}","gists_url":"https://api.github.com/users/garrettbts/gists{/gist_id}","starred_url":"https://api.github.com/users/garrettbts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garrettbts/subscriptions","organizations_url":"https://api.github.com/users/garrettbts/orgs","repos_url":"https://api.github.com/users/garrettbts/repos","events_url":"https://api.github.com/users/garrettbts/events{/privacy}","received_events_url":"https://api.github.com/users/garrettbts/received_events","type":"User","site_admin":false},"labels":[{"id":636336644,"node_id":"MDU6TGFiZWw2MzYzMzY2NDQ=","url":"https://api.github.com/repos/aws/aws-sdk-java-v2/labels/Investigating","name":"Investigating","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-03-04T10:25:01Z","updated_at":"2019-03-04T18:20:51Z","closed_at":null,"author_association":"NONE","body":"<!--- Provide a general summary of the issue in the Title above -->\r\n\r\nWhen killing my Spring WebFlux on Netty app that uses S3AsyncClient the app hangs for 16 seconds.\r\n\r\n## Expected Behavior\r\n<!--- If you're describing a bug, tell us what should happen -->\r\n<!--- If you're suggesting a change/improvement, tell us how it should work -->\r\n\r\nExpect the server to be killed faster than 16 seconds.\r\n\r\n## Current Behavior\r\n<!--- If describing a bug, tell us what happens instead of the expected behavior -->\r\n<!--- Include full errors, uncaught exceptions, stack traces, and relevant logs -->\r\n<!--- To turn on SDK logging, follow instructions here: http://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/java-dg-logging.html -->\r\n<!--- If service responses are relevant, please include wirelogs -->\r\n<!--- If suggesting a change/improvement, explain the difference from current behavior -->\r\n\r\nAfter timing out the following stack trace is given:\r\n\r\n\r\n```\r\n02:05:04.281 [Thread-19] ERROR s.a.a.h.n.n.NettyNioAsyncHttpClient - Unable to shutdown event loop\r\njava.lang.RuntimeException: Shutting down Netty EventLoopGroup did not complete within 16 seconds\r\n\tat software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient.closeEventLoopUninterruptibly(NettyNioAsyncHttpClient.java:235)\r\n\tat software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient.lambda$close$2(NettyNioAsyncHttpClient.java:222)\r\n\tat software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient$$Lambda$1600/736839034.run(Unknown Source)\r\n\tat software.amazon.awssdk.utils.FunctionalUtils.runAndLogError(FunctionalUtils.java:40)\r\n\tat software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient.close(NettyNioAsyncHttpClient.java:221)\r\n\tat software.amazon.awssdk.utils.IoUtils.closeQuietly(IoUtils.java:73)\r\n\tat software.amazon.awssdk.utils.IoUtils.closeIfCloseable(IoUtils.java:90)\r\n\tat software.amazon.awssdk.utils.AttributeMap.lambda$close$0(AttributeMap.java:86)\r\n\tat software.amazon.awssdk.utils.AttributeMap$$Lambda$1596/1964394254.accept(Unknown Source)\r\n\tat java.util.HashMap$Values.forEach(HashMap.java:972)\r\n\tat software.amazon.awssdk.utils.AttributeMap.close(AttributeMap.java:86)\r\n\tat software.amazon.awssdk.core.client.config.SdkClientConfiguration.close(SdkClientConfiguration.java:79)\r\n\tat software.amazon.awssdk.core.internal.http.HttpClientDependencies.close(HttpClientDependencies.java:88)\r\n\tat software.amazon.awssdk.core.internal.http.AmazonAsyncHttpClient.close(AmazonAsyncHttpClient.java:78)\r\n\tat software.amazon.awssdk.core.client.handler.BaseAsyncClientHandler.close(BaseAsyncClientHandler.java:138)\r\n\tat software.amazon.awssdk.services.s3.DefaultS3AsyncClient.close(DefaultS3AsyncClient.java:3942)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:497)\r\n\tat org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:337)\r\n\tat org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:271)\r\n\tat org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571)\r\n\tat org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543)\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:954)\r\n\tat org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504)\r\n\tat org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:961)\r\n\tat org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1041)\r\n\tat org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1017)\r\n\tat org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:937)\r\n```\r\n\r\n## Steps to Reproduce (for bugs)\r\n<!--- Provide a self-contained, concise snippet of code that can be inserted into a -->\r\n<!--- For more complex issues provide a repo with the smallest sample that reproduces the bug -->\r\n<!--- Including business logic or unrelated code makes diagnosis more difficult -->\r\n\r\n* Deploy any Spring WebFlux 2.0.4.RELEASE app locally\r\n* Make a request that uses the S3AsyncClient to populate the response\r\n* Kill the server via control + c\r\n\r\n## Your Environment\r\n<!--- Include as many relevant details about the environment where the bug was discovered -->\r\n* AWS Java SDK version used: 2.5.1\r\n* JDK version used: 1.8.0_51\r\n* Operating System and version: MacOS High Sierra 10.13.6\r\n* Spring version: 2.0.4.RELEASE\r\n"},"comment":{"url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/comments/469359531","html_url":"https://github.com/aws/aws-sdk-java-v2/issues/1109#issuecomment-469359531","issue_url":"https://api.github.com/repos/aws/aws-sdk-java-v2/issues/1109","id":469359531,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2OTM1OTUzMQ==","user":{"login":"garrettbts","id":7095829,"node_id":"MDQ6VXNlcjcwOTU4Mjk=","avatar_url":"https://avatars2.githubusercontent.com/u/7095829?v=4","gravatar_id":"","url":"https://api.github.com/users/garrettbts","html_url":"https://github.com/garrettbts","followers_url":"https://api.github.com/users/garrettbts/followers","following_url":"https://api.github.com/users/garrettbts/following{/other_user}","gists_url":"https://api.github.com/users/garrettbts/gists{/gist_id}","starred_url":"https://api.github.com/users/garrettbts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garrettbts/subscriptions","organizations_url":"https://api.github.com/users/garrettbts/orgs","repos_url":"https://api.github.com/users/garrettbts/repos","events_url":"https://api.github.com/users/garrettbts/events{/privacy}","received_events_url":"https://api.github.com/users/garrettbts/received_events","type":"User","site_admin":false},"created_at":"2019-03-04T18:20:51Z","updated_at":"2019-03-04T18:20:51Z","author_association":"NONE","body":"@zoewangg Not using any other SDK async clients.\r\n\r\n```\r\n    @Bean\r\n    S3AsyncClient s3AsyncClient(AwsCredentials awsConfiguration) {\r\n\t\tAwsBasicCredentials awsCreds = AwsBasicCredentials.create(\r\n\t\t\t      awsConfiguration.getAccessKeyId(),\r\n\t\t\t      awsConfiguration.getSecretAccessKey());\r\n\t\t\r\n\t\treturn S3AsyncClient.builder().credentialsProvider(\r\n\t\t\t\tStaticCredentialsProvider.create(awsCreds)).\r\n\t\t\t\tbuild();\r\n    }\r\n```"}}
{"actor":{"display_login":"garrettbts"}}