adapter.json: Non-deterministic array order in serialized JSON
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 25/100
Research direction
Inspect the JSON serialization paths for top-level object lists and set-valued attributes such as submodel and isCaseOf. Reproduce serialization across runs with different PYTHONHASHSEED values, then verify that serializing the same AAS produces byte-identical JSON and that the relevant tests remain stable.
Written by the indexing model from the issue text.
Description
JSON arrays that originate from unordered Python sets are serialized in non-deterministic order. Affected are the top-level object lists and set-valued attributes such as submodel and isCaseOf.
Expected behavior:
Serializing the same AAS twice produces byte-identical JSON, so output is reproducible across runs.
Actual behavior:
Array element order varies between runs. Set iteration order depends on hash randomization (PYTHONHASHSEED), so each serialization can emit a different ordering. This makes output non-reproducible — complicates diffing, caching, and snapshot testing.
- Dominant language
- Python
- Stars
- 102
- Forks
- 52
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from eclipse-basyx/basyx-python-sdk
-
bug high priority
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
bug high priority
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
eclipse-basyx/basyx-python-sdk#634 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug high priority
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
All issues in eclipse-basyx/basyx-python-sdk
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
hcocena Openpolicies-accepted pre-review precheck-passed
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Bioconductor/BiocContributions#214 · 5 comments ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
TencentCloud/Octop#1169 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
521xueweihan/HelloGitHub#3778 ·
-
The version checker's trailing attribute region has no control for a less-than inside a quoted value Openarea: dashboard area: tests bug perceived difficulty: 2 python
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Nitjsefnie-Harness-Commons/daedalus#1105 · 1 comment ·