Skip to content

Modify the user-agent used by our modified drivers #135

@nyh

Description

@nyh

In scylladb/scylladb#24993 (or alternatively scylladb/scylladb#24988) I wanted to be able to learn exactly which SDK is being used by a user connecting to Alternator - by inspecting the User-Agent headers sent by the SDK. These user-agent headers are different for different SDKs, for example

  • The Python AWS SDK (boto3) sends: Boto3/1.38.46 md/Botocore#1.38.46 md/awscrt#0.24.2 ua/2.1 os/linux#6.15.4-100.fc41.x86_64 md/arch#x86_64 lang/python#3.13.5 md/pyimpl#CPython m/N,P,b,D,Z cfg/retry-mode#legacy Botocore/1.38.46 Resource
  • The Java SDK v1 sends: aws-sdk-java/1.11.919 Linux/6.15.4-100.fc41.x86_64 OpenJDK_64-Bit_Server_VM/11.0.27+6 java/11.0.27 vendor/Red_Hat,_Inc.
  • The Java SDK v2 sends: aws-sdk-java/2.25.31 Linux/6.15.4-100.fc41.x86_64 OpenJDK_64-Bit_Server_VM/11.0.27+6 Java/11.0.27 vendor/Red_Hat__Inc. io/sync http/Apache cfg/retry-mode/legacy cfg/auth-source#stat

Currently, I believe that our own load-balancing wrappers tracked in this repository do not modify the User-Agent header, so we can't know if the original AWS SDK is being used or our own wrapper - and which version of the wrapper.

I'm asking in this issue to add the fact that Scylla's wrapper is being used, its language and version, to the User-Agent header - in addition to the information that the AWS SDK puts there (which also remains useful).

Sub-issues

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions