◐ Shell
clean mode source ↗

Raise DEFAULT_RECURSE_LIMIT from 511 to 1024 by Copilot · Pull Request #676 · msgpack/msgpack-python

Copilot AI linked an issue

May 20, 2026

that may be closed by this pull request

@methane

Copilot AI changed the title [WIP] Fix msgpack.fallback DEFAULT_RECURSE_LIMIT to match Python 3.10 Raise DEFAULT_RECURSE_LIMIT from 511 to 1024

May 20, 2026

@methane methane marked this pull request as ready for review

May 20, 2026 11:52

methane

@methane

@methane methane deleted the copilot/fix-fallback-recursion-limit branch

May 22, 2026 07:08

phoebusm added a commit to man-group/ArcticDB that referenced this pull request

Jun 12, 2026
#### Reference Issues/PRs
<!--Example: Fixes #1234. See also #3456.-->
Fix `test_deep_nesting_metastruct_size_over_limit` and
`test_deep_nesting_metastruct_size_under_limit`
Culprit: `msgpack 1.2.0` has just released. It includes [Raise
DEFAULT_RECURSE_LIMIT from 511 to 1024 by Copilot · Pull Request #676 ·
msgpack/msgpack-python](msgpack/msgpack-python#676)
which changes `DEFAULT_RECURSE_LIMIT` from 511 to 1024
`python 3.9` is unaffected as the new msgpack version has dropped the
support

#### What does this implement or fix?
Hard-pin the arcticdb limit to `511` as msgpack <1.2.0
#### Any other comments?
msgpack <1.2.0 has the recurse limit set at 511. arcticdb imports the
limit from msgpack to calculate the metastruct layer limit
msgpack 1.2.0 has raised limit from 511 to 1024. Since reconstructing
the metastruct from is done by recursion, increasing the no. of layers
in the metastruct will make arcticdb hit the python recursion limit.
#### Checklist

<details>
  <summary>
   Checklist for code changes...
  </summary>
 
- [ ] Have you updated the relevant docstrings, documentation and
copyright notice?
- [ ] Is this contribution tested against [all ArcticDB's
features](../docs/mkdocs/docs/technical/contributing.md)?
- [ ] Do all exceptions introduced raise appropriate [error
messages](https://docs.arcticdb.io/error_messages/)?
 - [ ] Are API changes highlighted in the PR description?
- [ ] Is the PR labelled as enhancement or bug so it appears in
autogenerated release notes?
</details>

<!--
Thanks for contributing a Pull Request to ArcticDB! Please ensure you
have taken a look at:
- ArcticDB's Code of Conduct:
https://github.com/man-group/ArcticDB/blob/master/CODE_OF_CONDUCT.md
- ArcticDB's Contribution Licensing:
https://github.com/man-group/ArcticDB/blob/master/docs/mkdocs/docs/technical/contributing.md#contribution-licensing
-->

@IvoDD IvoDD mentioned this pull request

Jun 17, 2026

10 tasks

IvoDD added a commit to man-group/ArcticDB that referenced this pull request

Jun 17, 2026
#### Reference Issues/PRs
<!--Example: Fixes #1234. See also #3456.-->
Fix `test_deep_nesting_metastruct_size_over_limit` and
`test_deep_nesting_metastruct_size_under_limit`
Culprit: `msgpack 1.2.0` has just released. It includes [Raise
DEFAULT_RECURSE_LIMIT from 511 to 1024 by Copilot · Pull Request #676 ·
msgpack/msgpack-python](msgpack/msgpack-python#676)
which changes `DEFAULT_RECURSE_LIMIT` from 511 to 1024 `python 3.9` is
unaffected as the new msgpack version has dropped the support

#### What does this implement or fix?
Hard-pin the arcticdb limit to `511` as msgpack <1.2.0 #### Any other
comments?
msgpack <1.2.0 has the recurse limit set at 511. arcticdb imports the
limit from msgpack to calculate the metastruct layer limit msgpack 1.2.0
has raised limit from 511 to 1024. Since reconstructing the metastruct
from is done by recursion, increasing the no. of layers in the
metastruct will make arcticdb hit the python recursion limit. ####
Checklist

<details>
  <summary>
   Checklist for code changes...
  </summary>
 
- [ ] Have you updated the relevant docstrings, documentation and
copyright notice?
- [ ] Is this contribution tested against [all ArcticDB's
features](../docs/mkdocs/docs/technical/contributing.md)?
- [ ] Do all exceptions introduced raise appropriate [error
messages](https://docs.arcticdb.io/error_messages/)?
 - [ ] Are API changes highlighted in the PR description?
- [ ] Is the PR labelled as enhancement or bug so it appears in
autogenerated release notes?
</details>

<!--
Thanks for contributing a Pull Request to ArcticDB! Please ensure you
have taken a look at:
- ArcticDB's Code of Conduct:
https://github.com/man-group/ArcticDB/blob/master/CODE_OF_CONDUCT.md
- ArcticDB's Contribution Licensing:
https://github.com/man-group/ArcticDB/blob/master/docs/mkdocs/docs/technical/contributing.md#contribution-licensing
-->

#### Reference Issues/PRs
<!--Example: Fixes #1234. See also #3456.-->

#### What does this implement or fix?

#### Any other comments?

#### Checklist

<details>
  <summary>
   Checklist for code changes...
  </summary>
 
- [ ] Have you updated the relevant docstrings, documentation and
copyright notice?
- [ ] Is this contribution tested against [all ArcticDB's
features](../docs/mkdocs/docs/technical/contributing.md)?
- [ ] Do all exceptions introduced raise appropriate [error
messages](https://docs.arcticdb.io/error_messages/)?
 - [ ] Are API changes highlighted in the PR description?
- [ ] Is the PR labelled as enhancement or bug so it appears in
autogenerated release notes?
</details>

<!--
Thanks for contributing a Pull Request to ArcticDB! Please ensure you
have taken a look at:
- ArcticDB's Code of Conduct:
https://github.com/man-group/ArcticDB/blob/master/CODE_OF_CONDUCT.md
- ArcticDB's Contribution Licensing:
https://github.com/man-group/ArcticDB/blob/master/docs/mkdocs/docs/technical/contributing.md#contribution-licensing
-->

Co-authored-by: Phoebus Mak <61957902+phoebusm@users.noreply.github.com>