#224: read-trail storage - partitioning, retention, admin query path #280
Closed
fable-5
wants to merge 0 commits from
issue-224-read-trail-storage into main
pull from: issue-224-read-trail-storage
merge into: stwaidele:main
stwaidele:main
stwaidele:345-plugin-zip-license-texts
stwaidele:issue-339-markdown-table-paste
stwaidele:issue-338-tab-navigation
stwaidele:issue-337-merge-split
stwaidele:issue-336-delete-icons
stwaidele:issue-335-gap-cursor
stwaidele:feat/332-invitations
stwaidele:feat/331-admin-create-user
stwaidele:329-quota-override-cell-table-layout
stwaidele:324-325-self-hosting-guide-findings
stwaidele:323-document-title-instance-name
stwaidele:322-admin-settings-form-flat-keys
stwaidele:320-refresh-self-hosting-guide
stwaidele:fix/sort-key-test-timeout
stwaidele:issue-307-pond-branding
stwaidele:issue-305-pond-archive
stwaidele:issue-179-spa-lang
stwaidele:issue-306-instance-branding
stwaidele:issue-304-custom-font-ui
stwaidele:issue-303-fonts-dir-ownership
stwaidele:issue-303-custom-fonts
stwaidele:issue-301-settings-reflow
stwaidele:issue-302-pond-start-page
stwaidele:issue-300-icon-buttons
stwaidele:issue-296-remove-legacy-verify
stwaidele:issue-232-plugin-hash-pinning
stwaidele:adr-0019-0027-accepted
stwaidele:issue-246-vs-nfd-enforced
stwaidele:issue-245-vs-nfd-hidden
stwaidele:issue-244-vs-nfd-marked
stwaidele:issue-243-vs-nfd-mode
stwaidele:issue-221-offline-update
stwaidele:issue-220-isolated-run
stwaidele:issue-288-restore-partitioned
stwaidele:issue-219-offline-build
stwaidele:issue-218-registry-mirror
stwaidele:issue-217-claim-mapping
stwaidele:issue-216-local-auth-switch
stwaidele:issue-215-proxy-auth
stwaidele:issue-214-oidc
stwaidele:issue-225-read-trail-switch
stwaidele:issue-223-read-trail-dedup
stwaidele:issue-222-read-trail
stwaidele:issue-227-hardening-guide
stwaidele:issue-228-security-documentation
stwaidele:issue-229-operations-manual
stwaidele:issue-230-grundschutz-mapping
stwaidele:issue-231-residual-risks
stwaidele:issue-213-upload-warning
stwaidele:issue-212-attachment-marking
stwaidele:issue-211-channel-marking
stwaidele:issue-210-zip-marking
stwaidele:issue-209-office-marking
stwaidele:issue-208-pdf-marking
stwaidele:issue-207-print-css
stwaidele:issue-206-web-classification-marking
stwaidele:issue-205-classification-inheritance
stwaidele:issue-204-page-classification
stwaidele:feat/203-image-digest-pinning
stwaidele:feat/201-audit-event-catalogue
stwaidele:feat/200-plugins-kill-switch
stwaidele:feat/199-attachment-integrity-hashes
stwaidele:feat/202-sbom-license-report
stwaidele:feat/236-pin-node-version
stwaidele:feat/235-page-links-purge-decision
stwaidele:feat/234-mail-outbox-retention
stwaidele:feat/233-conversion-job-payload-pruning
stwaidele:feat/198-env-verification
stwaidele:feat/197-security-headers
stwaidele:feat/196-audit-retention
stwaidele:feat/195-search-index-trash
stwaidele:feat/194-orphan-sweep
stwaidele:feat/193-pond-purge
stwaidele:feat/192-backup-allowlist
stwaidele:feat/191-feeds-switch
stwaidele:feat/190-session-timeouts
stwaidele:feat/189-csrf-fail-closed
stwaidele:feat/188-token-key-separation
stwaidele:docs/226-delimitation-statement
stwaidele:docs/vs-nfd-planning
stwaidele:feat/186-pond-accent
stwaidele:feat/184-theme-engine
stwaidele:feat/182-theme-toggle
stwaidele:feat/180-dark-mode
stwaidele:admin-actions-cell-align
stwaidele:admin-user-action-icons
stwaidele:a11y-mittel
stwaidele:a11y-aria
stwaidele:a11y-focus-lang
stwaidele:fix-160-plugin-block-editable
stwaidele:m23-chordpro
stwaidele:m22-aufgaben
stwaidele:m21-api-feeds
stwaidele:m20-ui-einbettung
stwaidele:k19-screenshot-svgfit
stwaidele:excalidraw-demo-docs
stwaidele:fix-137-3px
stwaidele:fix-137-nodeview
stwaidele:editor-autofocus
stwaidele:fix-137-checkbox
stwaidele:m17-m19-issues
No reviewers
Labels
Clear labels
Authentication, permissions, quotas
API server (apps/api)
Blocked on external dependency/infrastructure
Collaboration server (apps/collab)
Docker, CI/CD, hosting
Documentation
SPA (apps/web)
Plugin system and SDK
Tests, fixtures, e2e
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
Authentication, permissions, quotas
backend
API server (apps/api)
blocked
Blocked on external dependency/infrastructure
collab
Collaboration server (apps/collab)
deployment
Docker, CI/CD, hosting
docs
Documentation
effort:L
effort:M
effort:S
frontend
SPA (apps/web)
plugins
Plugin system and SDK
qa
Tests, fixtures, e2e
vs-nfd
vs-nfd:blocker
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
Milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Clear assignees
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#280
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "issue-224-read-trail-storage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Monthly RANGE partitions on occurred_at with a DEFAULT safety-net partition (a lagging job must never turn hard-failure semantics into an outage). Dedup unique pair moves to per-partition indexes; month-boundary duplicate documented. New daily job read-trail-maintenance (job fence 9->10) creates months ahead and prunes under readTrail.retentionDays (default 365), whole months by DROP, audited as read_trail.pruned (catalogue v1.2). Site-Admin query path GET /admin/system/read-events (API-only by design). Growth measured: ~1 MB per 1000 events (data-model.md). Fresh-DB test runs the real migration chain and proves partition shape, per-partition P2002 and DROP pruning. Stacked on #223. Refs #224
Contained in the fast-forward merge of PR #281 (runs 591/596 green; this PR own runs 592/593 failed only on runner infrastructure: docker address-pool exhaustion, since cleaned up). Commits are on main - closed like #268/#275.
Pull request closed