You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@burr.apache.org by "MIRS571 (via GitHub)" <gi...@apache.org> on 2026/10/18 16:06:28 UTC

[PR] fix: normalize default partitions in in-memory persisters [burr]

MIRS571 opened a new pull request, #983:
URL: https://github.com/apache/burr/pull/983

   Follow-up to the non-blocking default-partition suggestion in [#958](https://github.com/apache/burr/pull/958#pullrequestreview-5558490481).
   
   The in-memory persisters currently store a checkpoint under the raw `None` key but return `partition_key=""` in its metadata. Reloading with that returned key misses the checkpoint. SQLite already normalizes both inputs to the same default partition.
   
   ## Changes
   
   - Normalize only `None` to `""` in synchronous and asynchronous in-memory save/load/list operations, including stored checkpoint metadata.
   - Preserve non-empty keys verbatim and retain non-inserting load behavior.
   - Add 16 parameterized regression cases for alias lookups, returned-key reloads, mixed-key histories, duplicate sequence IDs, multiple applications, missing reads, and named-partition isolation. Synchronous lookup cases also run against SQLite as a control.
   - Document the compatibility change.
   
   ## Compatibility
   
   `None` and `""` are now aliases, not two isolated in-memory partitions. Applications using both for the same `app_id` share a checkpoint history. Existing last-save semantics remain unchanged, including when selecting a specific sequence ID. Callers requiring separate partitions should use distinct non-empty string keys. SQLite behavior is unchanged.
   
   ## How I tested this
   
   On Python 3.11:
   
   - Before the fix, the initial new regression cases produced **10 failures and 6 passes**.
   - `python -m pytest tests/core/test_persistence.py -q`: **66 passed**.
   - `python -m pytest tests/core -q -k "not test_visualize_dot_output"`: **446 passed, 4 deselected**. The complete core run was attempted; those four graph-rendering cases cannot run locally because the Graphviz `dot` executable is absent.
   - Black, isort, flake8, AST, whitespace, EOF and ASF-header pre-commit checks passed on the changed files. The frontend hook was skipped because this change contains no frontend files.
   - `git diff --check` passed.
   
   ## Notes
   
   The complete repository test suite, other Python versions and the Sphinx documentation build were not run locally.
   
   ## Checklist
   
   - [x] Informative title and one focused goal.
   - [x] Applicable pre-commit checks passed, with the frontend exclusion noted above.
   - [x] Changed behavior is covered by regression tests.
   - [x] Compatibility behavior and class documentation are updated.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@burr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] fix: normalize default partitions in in-memory persisters [burr]

Posted by "MIRS571 (via GitHub) via notifications" <no...@burr.apache.org>.
MIRS571 commented on PR #983:
URL: https://github.com/apache/burr/pull/983#issuecomment-6762719453

   Thanks for the review and for checking recovery after switching partition aliases. The application-level retry/recovery case is useful additional coverage. I'd prefer to keep this PR focused on the persistence-level normalization and its documented compatibility change, with that non-blocking application-level coverage as a separate follow-up.
   
   I'm still available to follow up on this PR. Could a maintainer review the current change and remove `pr/stale` if appropriate?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@burr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] fix: normalize default partitions in in-memory persisters [burr]

Posted by "github-actions[bot] (via GitHub) via notifications" <no...@burr.apache.org>.
github-actions[bot] commented on PR #983:
URL: https://github.com/apache/burr/pull/983#issuecomment-6736615578

   This PR has been inactive for 19 days after receiving review feedback.
   Converting to draft.
   
   Please mark it as ready for review when you have addressed the comments.
   If no activity occurs within 90 days, it will be closed automatically.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@burr.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org