I agree with everything Ignasi said, but want to emphasize that the removed jclouds async code did not do what callers might expect, i.e., multiplexing multiple sockets onto a single thread. Instead it internally had a thread pool with a 1:1 thread to socket correspondence. It was no different than users submitting a Callable to their own ExecutorService.
I wonder how you would change S3Proxy to use m:n threading. Please raise an issue on the S3Proxy GitHub with your ideas! On Fri, Feb 24, 2017 at 05:33:08AM -0000, Spandan Thakur wrote: > Hi, > > We noticed that 3-4 years back jClouds had async implementations which was > then deprecated and removed: https://issues.apache.org/jira/browse/JCLOUDS-40 > > We were wondering why this decision to deprecate the Async implementation was > made? > > The reason I ask this question is that we are using a S3 proxy > (https://github.com/andrewgaul/s3proxy) which internally uses jClouds. The > problem is that the throughput is limited by the number of threads in the > server to handle the request. We were planning to do changes to go to async > for better performance and then we noticed your jira issue to remove async. > > Regards, > Spandan Thakur -- Andrew Gaul http://gaul.org/