Skip to content

Commit a46977f

Browse files
fix: [SVLS-5953] pointers for deserialized DynamoDB requests [backport 2.16] (#11443)
Backport 5724fd3 from #11420 to 2.16. Fixes #11320 . The resource-based APIs for DynamoDB in boto3 accept deserialized python values and turn them into proper type-tagged DynamoDB API objects in the background. Unfortunately we don't seem to have access to those lower-level type-tagged objects, so if we see the deserialized forms we need to transform them ourselves in order to correctly extract the key values for hashing into span pointers. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting) Co-authored-by: Aleksandr Pasechnik <[email protected]>
1 parent 7772f77 commit a46977f

File tree

23 files changed

+737
-477
lines changed

23 files changed

+737
-477
lines changed

.riot/requirements/116ff5f.txt

Lines changed: 0 additions & 59 deletions
This file was deleted.

.riot/requirements/1308524.txt

Lines changed: 0 additions & 59 deletions
This file was deleted.

.riot/requirements/159f4bb.txt

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.11
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/159f4bb.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.6.2.post1
9+
attrs==24.2.0
10+
boto3==1.35.62
11+
botocore==1.35.62
12+
certifi==2024.8.30
13+
coverage[toml]==7.6.7
14+
fastapi==0.115.5
15+
h11==0.14.0
16+
httpcore==1.0.7
17+
httpretty==1.1.4
18+
httpx==0.27.2
19+
hypothesis==6.45.0
20+
idna==3.10
21+
iniconfig==2.0.0
22+
jmespath==1.0.1
23+
mock==5.1.0
24+
msgpack==1.1.0
25+
opentracing==2.4.0
26+
packaging==24.2
27+
pluggy==1.5.0
28+
pydantic==2.9.2
29+
pydantic-core==2.23.4
30+
pytest==8.3.3
31+
pytest-cov==6.0.0
32+
pytest-mock==3.14.0
33+
pytest-randomly==3.16.0
34+
python-dateutil==2.9.0.post0
35+
s3transfer==0.10.3
36+
six==1.16.0
37+
sniffio==1.3.1
38+
sortedcontainers==2.4.0
39+
starlette==0.41.2
40+
structlog==24.4.0
41+
typing-extensions==4.12.2
42+
urllib3==2.2.3
43+
wheel==0.45.0
44+
45+
# The following packages are considered to be unsafe in a requirements file:
46+
setuptools==75.5.0

.riot/requirements/15e6ff4.txt

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/15e6ff4.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.6.2.post1
9+
attrs==24.2.0
10+
boto3==1.35.62
11+
botocore==1.35.62
12+
certifi==2024.8.30
13+
coverage[toml]==7.6.7
14+
fastapi==0.115.5
15+
h11==0.14.0
16+
httpcore==1.0.7
17+
httpretty==1.1.4
18+
httpx==0.27.2
19+
hypothesis==6.45.0
20+
idna==3.10
21+
iniconfig==2.0.0
22+
jmespath==1.0.1
23+
mock==5.1.0
24+
msgpack==1.1.0
25+
opentracing==2.4.0
26+
packaging==24.2
27+
pluggy==1.5.0
28+
pydantic==2.9.2
29+
pydantic-core==2.23.4
30+
pytest==8.3.3
31+
pytest-cov==6.0.0
32+
pytest-mock==3.14.0
33+
pytest-randomly==3.16.0
34+
python-dateutil==2.9.0.post0
35+
s3transfer==0.10.3
36+
six==1.16.0
37+
sniffio==1.3.1
38+
sortedcontainers==2.4.0
39+
starlette==0.41.2
40+
structlog==24.4.0
41+
typing-extensions==4.12.2
42+
urllib3==2.2.3
43+
wheel==0.45.0
44+
45+
# The following packages are considered to be unsafe in a requirements file:
46+
setuptools==75.5.0

.riot/requirements/15e8745.txt

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/15e8745.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.6.2.post1
9+
attrs==24.2.0
10+
boto3==1.35.62
11+
botocore==1.35.62
12+
certifi==2024.8.30
13+
coverage[toml]==7.6.7
14+
fastapi==0.115.5
15+
h11==0.14.0
16+
httpcore==1.0.7
17+
httpretty==1.1.4
18+
httpx==0.27.2
19+
hypothesis==6.45.0
20+
idna==3.10
21+
iniconfig==2.0.0
22+
jmespath==1.0.1
23+
mock==5.1.0
24+
msgpack==1.1.0
25+
opentracing==2.4.0
26+
packaging==24.2
27+
pluggy==1.5.0
28+
pydantic==2.9.2
29+
pydantic-core==2.23.4
30+
pytest==8.3.3
31+
pytest-cov==6.0.0
32+
pytest-mock==3.14.0
33+
pytest-randomly==3.16.0
34+
python-dateutil==2.9.0.post0
35+
s3transfer==0.10.3
36+
six==1.16.0
37+
sniffio==1.3.1
38+
sortedcontainers==2.4.0
39+
starlette==0.41.2
40+
structlog==24.4.0
41+
typing-extensions==4.12.2
42+
urllib3==2.2.3
43+
wheel==0.45.0
44+
45+
# The following packages are considered to be unsafe in a requirements file:
46+
setuptools==75.5.0

.riot/requirements/1793deb.txt

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.8
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1793deb.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.5.2
9+
attrs==24.2.0
10+
boto3==1.35.62
11+
botocore==1.35.62
12+
certifi==2024.8.30
13+
coverage[toml]==7.6.1
14+
exceptiongroup==1.2.2
15+
fastapi==0.115.5
16+
h11==0.14.0
17+
httpcore==1.0.7
18+
httpretty==1.1.4
19+
httpx==0.27.2
20+
hypothesis==6.45.0
21+
idna==3.10
22+
importlib-metadata==8.5.0
23+
iniconfig==2.0.0
24+
jmespath==1.0.1
25+
mock==5.1.0
26+
msgpack==1.1.0
27+
opentracing==2.4.0
28+
packaging==24.2
29+
pluggy==1.5.0
30+
pydantic==2.9.2
31+
pydantic-core==2.23.4
32+
pytest==8.3.3
33+
pytest-cov==5.0.0
34+
pytest-mock==3.14.0
35+
pytest-randomly==3.15.0
36+
python-dateutil==2.9.0.post0
37+
s3transfer==0.10.3
38+
six==1.16.0
39+
sniffio==1.3.1
40+
sortedcontainers==2.4.0
41+
starlette==0.41.2
42+
structlog==24.4.0
43+
tomli==2.1.0
44+
typing-extensions==4.12.2
45+
urllib3==1.26.20
46+
wheel==0.45.0
47+
zipp==3.20.2
48+
49+
# The following packages are considered to be unsafe in a requirements file:
50+
setuptools==75.3.0

.riot/requirements/17a3ee7.txt

Lines changed: 0 additions & 61 deletions
This file was deleted.

0 commit comments

Comments
 (0)