Commit Graph

44 Commits

Author SHA1 Message Date
Dori Polotsky 1c57d07f70 JCLOUDS-847: Poor upload performance for putBlob
This change improves the performance of writing to sockets with the
default Java URL connection HTTP client, by enlarging the buffer used
for socket writes from an implicit hard-coded 4KB / 8KB buffer to a
configurable 32KB buffer.

The buffer size is now controlled by the following property with the
following default value:

jclouds.output-socket-buffer-size: 32768

The implementation is based on a variant of ByteStreams.copy (written as
ByteStreams2.copy) which accepts the buffer size as an argument, unlike
the original Guava code that uses a hard-coded size.

The change was done directly within the loop that copies the input
stream to the output stream, and not by wrapping a BufferedOutputStream
around the existing output stream, in order to avoid copying the payload
twice.

On some platforms this change can improve both the putBlob throughput
and the total CPU consumption.
2019-04-27 15:16:08 +09:00
Andrew Gaul 8eae27c98d Make interfaces with only statics into classes
This prevents instantiation.  Found via error-prone 2.3.3.
2019-02-23 16:34:11 +09:00
Andrew Gaul 53c47aa0bd Correct uses of checkNotNull
These should provide a descriptive second argument, not the same as
the first argument which is null in the failure case.  This also found
a logic error in CreateVolumeResponseHandler.
2019-02-23 16:33:40 +09:00
Andrew Gaul 517323fbd5 JCLOUDS-1225: Address Guava 18 MoreExecutors changes
Fixed with:

find -name \*.java | xargs sed -i 's/sameThreadExecutor/newDirectExecutorService/g'
2017-08-22 17:14:22 -07:00
Andrew Gaul a493e2ca2f JCLOUDS-1225: Address Guava 18 Objects changes
Fixed with:

find -name \*.java | xargs sed -i 's/Objects.[Tt]oStringHelper/More&/g'
find -name \*.java | xargs sed -i 's/Objects.firstNonNull/More&/g'
find -name \*.java | xargs sed -i 's/^\(import com.google.common.base.\)\(Objects.*\)/\1More\2\n\1\2/g'
find -name \*.java | xargs java -jar google-java-format-1.3-all-deps.jar -i --fix-imports-only --skip-sorting-imports
2017-08-22 17:12:53 -07:00
Vijay Panghal f3c3f3b306 Make user agent header configurable
Jclouds sends default user agent string with each request to cloud
services. But some of the application would like to overide this and
send custom user agent instead.

This commit define a string property to overide this default user agent
string. This property will be applied to all outgoing http request to
cloud services

JCLOUDS-819
2016-12-20 11:02:19 +01:00
Andrew Gaul 3c9f66b8e9 Avoid lower-case l literal suffix
Readers can confuse this with 1.  Found via error-prone.  Fixed via:

find -name \*.java | xargs sed -i 's/\( [0-9][0-9]*\)l/\1L/g'
find -name \*.java | xargs sed -i 's/\(([0-9][0-9]*\)l/\1L/g'
2016-10-23 14:24:35 -07:00
Andrea Turli a515ce2f22 Change line endings on files recursively 2016-07-14 00:02:13 +02:00
Andrew Gaul 5fec2346a6 JCLOUDS-1028: Configure idempotent methods
Enable POST for Atmos, S3, and Swift.
2016-06-15 16:35:22 -07:00
Oliver Gondža edde721937 JCLOUDS-962: Make all @Provider methods final 2015-09-02 23:54:44 +02:00
Andrew Gaul 866ac3fabb Fix error-prone PreconditionsCheckNotNullPrimitive 2015-03-30 19:06:48 -07:00
Jeremy Daggett d3c1e2eab4 Use AutoService to generate service loader metadata 2015-01-09 11:22:12 -08:00
Adrian Cole 3980cd791b Revert "JCLOUDS-653: Address Guava 18 deprecations"
This reverts commit 95cfc0d950.

Many conflicts due to duration between above commit and now
2014-10-24 10:45:58 -07:00
Adrian Cole b9525a0877 JCLOUDS-40 unasync Fallback 2014-10-06 13:14:59 -07:00
Adrian Cole 0a236f59ad JCLOUDS-153 remove IO Executor and usage of it. 2014-10-06 07:56:31 -07:00
Andrew Gaul 1223772852 Prefer Charsets.UTF_8 over string literal
Found with modernizer-maven-plugin.
2014-09-18 18:11:19 -07:00
Andrew Gaul 63d43f236e Correct unusual equals implementations
Found with FindBugs.
2014-08-30 14:30:44 -07:00
Andrew Gaul 74fb8f0183 Add whitespace after semicolons
Also correct some bad line-wrapping.
2014-08-26 11:06:00 -07:00
Jeremy Daggett e711275fb1 Prefer isEmpty() for collections rather than size() 2014-08-20 11:07:48 -07:00
Andrew Gaul 95cfc0d950 JCLOUDS-653: Address Guava 18 deprecations
Mostly renaming Objects.toStringHelper to MoreObjects.toStringHelper.
2014-08-08 11:12:21 -07:00
Andrew Gaul 05c37c2c77 Consistently use Square's mockwebserver
Google mockwebserver merged into OkHttp as per:

https://code.google.com/p/mockwebserver/
2014-07-03 14:39:07 -04:00
Andrew Gaul 9cdd53b0b7 JCLOUDS-546: Remove Javadoc @author annotations
Annotations removed with:

find -name \*.java | xargs sed -i /@author/d

Empty Javadoc removed with multiple iterations of:

find -name \*.java | xargs sed -i -z 's/ \*\n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/ \* \n \*\// \*\//'
find -name \*.java | xargs sed -i -z 's/\/\*\*\n \*\/\n//'
2014-06-07 21:44:54 -07:00
Andrew Gaul 79c289da9d Replace deprecated calls to LoadingCache.apply 2014-05-17 17:39:42 -07:00
Andrew Gaul 0398276be3 Remove redundant imports
Also enforce no new ones via Checkstyle
2013-12-12 18:23:43 -08:00
Andrew Gaul 828d8790c2 Enforce no unused imports via Checkstyle
Removed with:

mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain | tac | while read i; do echo $i | sed -n 's/\([^:]*\):\([^:]*\):.*/sed -i \2d \1/p' | bash; done
2013-12-11 17:27:43 -08:00
Andrew Gaul f1fc63ab76 Add whitespace around keywords and braces 2013-09-30 09:39:29 -07:00
Andrew Gaul b3a320e015 Address Checkstyle violations 2013-05-26 21:03:10 -07:00
adriancole ed2f18a1af JCLOUDS-31. updated to ASF headers via mvn com.mycila.maven-license-plugin:maven-license-plugin:format 2013-05-16 21:30:37 -07:00
Andrew Bayer 7923009eb5 JCLOUDS-37. Fix RAT violations in incubator-jclouds, master branch 2013-05-13 19:17:50 -07:00
adriancole 6eaf0830db fix issue #1492: invalidate dynect session on ip mismatch 2013-04-21 22:50:32 -07:00
adriancole 7f6929b623 fixed order of zone and fqdn in dynect 2013-04-18 15:04:22 -07:00
adriancole 160fa9527b added geo read-only commands to dynect 2013-04-18 07:49:24 -07:00
Andrew Gaul fff2fa6e05 Address Checkstyle violations
This commit requires temporarily disabling some checks.
2013-04-17 16:21:21 -07:00
Adrian Cole 3c34aeb112 Merge pull request #1514 from jclouds/use-more-constants
use more constants in tests
2013-04-09 23:33:01 -07:00
adriancole 7e0c4cfb00 removed async api from dynect 2013-04-09 22:35:05 -07:00
adriancole 61067d3683 Deprecated remaining code related to RestContext, RestApiMetadata, and RestClientModule for ApiContext, HttpApiMetadata, HttpApiModule 2013-04-09 22:07:43 -07:00
adriancole e22be464d0 use more constants in dynect tests 2013-04-09 20:37:07 -07:00
adriancole 053197fe61 deprecated all top-level Async apis and clients 2013-04-09 10:18:31 -07:00
adriancole 36dd831b84 moved all code off use of RestContext except CloudStackContext, which will use it until 1.7 2013-04-09 09:23:31 -07:00
adriancole 3be95807c2 wrong values for SRVData keys in DynECT 2013-03-25 14:36:29 -07:00
adriancole 77d15933b5 add support for list records by name in dynect 2013-03-13 17:11:54 -07:00
adriancole e182497c5c add SPF and SSHFP records to dynect 2013-03-11 20:03:18 -07:00
adriancole 971a82098e dynect: replace usage of UnsignedInteger with int and fixed serialized form of rdata classes 2013-03-11 14:56:33 -07:00
adriancole df346ade7e promote dynect out of labs 2013-03-08 18:02:58 -08:00