Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions sdk/storage/azure-storage-blob-stress/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,18 @@
<doclintMissingInclusion>-</doclintMissingInclusion>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
<version>1.58.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-bom;external_dependency} -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
set -ex;
dotnet dev-certs https --export-path /mnt/outputs/dev-cert.pfx;
/root/.dotnet/tools/http-fault-injector;
dotnet dev-certs https --export-path /mnt/outputs/dev-cert.crt --format PEM --no-password;
/root/.dotnet/tools/http-fault-injector;
12 changes: 11 additions & 1 deletion sdk/storage/azure-storage-blob-stress/scripts/stress-run.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
#!/bin/sh
set -ex;
set -exa;
keytool -import -alias test -file /mnt/outputs/dev-cert.pfx -keystore ${JAVA_HOME}/lib/security/cacerts -noprompt -keypass changeit -storepass changeit;
attempts=0;
while [ ! -s /mnt/outputs/dev-cert.crt ]; do
attempts=$((attempts + 1));
if [ "$attempts" -gt 60 ]; then
echo "Timed out waiting for fault injector certificate" >&2;
exit 1;
fi;
sleep 1;
done;
keytool -delete -alias HttpFaultInject -keystore "${JAVA_HOME}/lib/security/cacerts" -storepass changeit >/dev/null 2>&1 || true;
keytool -importcert -trustcacerts -alias HttpFaultInject -file /mnt/outputs/dev-cert.crt -keystore "${JAVA_HOME}/lib/security/cacerts" -noprompt -storepass changeit;
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
param baseName string
param endpointSuffix string = 'core.windows.net'
param endpointSuffix string = environment().suffixes.storage
param location string = resourceGroup().location
param storageApiVersion string = '2022-09-01'

var primaryAccountName = '${baseName}'
var pageBlobStorageAccountName = '${baseName}pageblob'
var uniqueSuffix = uniqueString(resourceGroup().id)
var primaryAccountName = '${take(baseName, 11)}${uniqueSuffix}'
var pageBlobStorageAccountName = '${take(baseName, 7)}${uniqueSuffix}page'

resource primaryAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
name: primaryAccountName
Expand All @@ -26,5 +26,5 @@ resource pageBlobStorageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' =
properties: {}
}

output STORAGE_ENDPOINT_STRING string = '"https://${primaryAccountName}.blob.core.windows.net"'
output PAGE_BLOB_STORAGE_ENDPOINT_STRING string = '"https://${pageBlobStorageAccountName}.blob.core.windows.net"'
output STORAGE_ENDPOINT_STRING string = '"https://${primaryAccountName}.blob.${endpointSuffix}"'
output PAGE_BLOB_STORAGE_ENDPOINT_STRING string = '"https://${pageBlobStorageAccountName}.blob.${endpointSuffix}"'
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ spec:
args:
- |
set -ex;
dotnet dev-certs https --export-path /mnt/outputs/dev-cert.pfx;
dotnet dev-certs https --export-path /mnt/outputs/dev-cert.crt --format PEM --no-password;
/root/.dotnet/tools/http-fault-injector;
resources:
limits:
Expand All @@ -30,7 +30,17 @@ spec:
- |
set -xa;
set -o pipefail;
keytool -import -alias test -file /mnt/outputs/dev-cert.pfx -keystore ${JAVA_HOME}/lib/security/cacerts -noprompt -keypass changeit -storepass changeit;
attempts=0;
while [ ! -s /mnt/outputs/dev-cert.crt ]; do
attempts=$((attempts + 1));
if [ "$attempts" -gt 60 ]; then
echo "Timed out waiting for fault injector certificate" >&2;
exit 1;
fi;
sleep 1;
done;
keytool -delete -alias HttpFaultInject -keystore "${JAVA_HOME}/lib/security/cacerts" -storepass changeit >/dev/null 2>&1 || true;
keytool -importcert -trustcacerts -alias HttpFaultInject -file /mnt/outputs/dev-cert.crt -keystore "${JAVA_HOME}/lib/security/cacerts" -noprompt -storepass changeit || exit 1;
mkdir -p "$DEBUG_SHARE";
. /mnt/outputs/.env;
export AZURE_HTTP_CLIENT_IMPLEMENTATION=com.azure.core.http.netty.NettyAsyncHttpClientProvider;
Expand Down Expand Up @@ -67,4 +77,4 @@ spec:
cpu: "0.7"
{{- include "stress-test-addons.container-env" . | nindent 6 }}

{{- end -}}
{{- end -}}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.azure.storage.blob.models.BlobRange;
import com.azure.storage.blob.models.BlobRequestConditions;
import com.azure.storage.blob.models.BlobStorageException;
import com.azure.storage.blob.models.DownloadRetryOptions;
import com.azure.storage.common.implementation.StorageSeekableByteChannel;

import java.io.IOException;
Expand Down Expand Up @@ -75,7 +76,7 @@ public int read(ByteBuffer dst, long sourceOffset) throws IOException {
try (ByteBufferBackedOutputStreamUtil dstStream = new ByteBufferBackedOutputStreamUtil(dst)) {
BlobDownloadResponse response
= client.downloadStreamWithResponse(dstStream, new BlobRange(sourceOffset, (long) dst.remaining()),
null /*downloadRetryOptions*/, requestConditions, false, null, null);
new DownloadRetryOptions(), requestConditions, false, null, null);
resourceLength = CoreUtils.extractSizeFromContentRange(response.getDeserializedHeaders().getContentRange());
return dst.position() - initialPosition;
} catch (BlobStorageException e) {
Expand Down
12 changes: 12 additions & 0 deletions sdk/storage/azure-storage-stress/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,18 @@
<doclintMissingInclusion>-</doclintMissingInclusion>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
<version>1.58.0</version> <!-- {x-version-update;io.opentelemetry:opentelemetry-bom;external_dependency} -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public String getDescription() {
Cpu.registerObservers(otel);
MemoryPools.registerObservers(otel);
Threads.registerObservers(otel);
GarbageCollector.registerObservers(otel);
GarbageCollector.registerObservers(otel, true);
OpenTelemetryAppender.install(otel);
return otel;
}
Expand Down