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.
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.
Changes order in parameters to keep properties as last parameter
Removes wrong @Nullable parameters
Moves LoadBalancer and PublicAddress to new package with SKU as inner
class
Moves LoadBalancerSKU inside LoadBalancer. Creates new loadbalancer package
Refactors PublicAddress domain objects
Extracts SKU from LoadBalancer
LoadBalancer SKU as inner class
PublicIPAddress SKU as inner class
Reorder parameters sku and properties
B2 requires two parts to use multi-part upload but jclouds will
attempt to use one with small uploads. Instead it should fall back to
single-part when the content length is small.
Adds new china regions
Fixes pattern matching for China provider oauth string
Modifies test for oauth string
overrides jclouds.oauth.resource property for tests
Graph and Vault API Endpoints need to be configurable
jclouds.oauth.resource is not mandatory
Adapted Endpoints for APIs GraphRBAC and Vault
Adds unit test for china oauth endpoint check
Minor fix to regular expression
Adds listAll to NetworkInterfaceCardApi
Addresses comments on tests
Sets resourcegroup pathparam as nullable for NetworkInterfaceCardApi and PublicIPAddressApi
By default, when listing images the ComputeServiceAdapter adds the
default credentials for each image. This is not done when images are
created by the image extension, and NPEs can appear in code that assumes
the default credentials are there, as the field is not nullable.
This change tries to populate the known node credentials for images
created form nodes, and falls back to the default strategy to add the
default credentials to an image if there are not known credentials.