Klaas van Schelven
a5401414db
Fix deprecationwarnings (about Django 5.0) in the tests
...
by changing an import
2025-04-26 10:52:04 +02:00
Klaas van Schelven
dd339f73de
One more fix for psycopg<3.0.17
...
see ce9d0e4941
2025-04-14 11:49:41 +02:00
Klaas van Schelven
ce9d0e4941
Fix for psycopg<3.0.17
2025-04-14 11:29:12 +02:00
Klaas van Schelven
712eb63faa
Merge pull request #80 from bugsink/sourcemaps-spike
...
Sourcemaps: first version
2025-04-14 11:08:19 +02:00
Klaas van Schelven
f95927ffd6
annotate_with_meta: add a case for (typically Filtered) string
2025-04-11 22:40:51 +02:00
Klaas van Schelven
87130043e3
PoC of using sourcemaps in the UI
...
See #19
2025-04-10 15:52:34 +02:00
Klaas van Schelven
a097e25310
issue.stored_event_count: consequences for 'irrelevance'
...
document & assert
2025-03-31 15:25:59 +02:00
Klaas van Schelven
9b1911aded
Fix issue.stored_event_count for eviction/retention
2025-03-31 14:51:58 +02:00
Klaas van Schelven
3c35ea5398
Eviction: note on newest-first behavior
2025-03-19 16:00:38 +01:00
Klaas van Schelven
6948f3a2e1
Dead code removal
...
'allowed as pass-in' but in fact we always pass-in
2025-03-19 15:53:51 +01:00
Klaas van Schelven
72ab0c68ef
Log message: no need to mention 'include_never_evict'
...
because when you reach that point, it's always True
2025-03-19 15:43:05 +01:00
Klaas van Schelven
a2f3ad900b
eviction-target not reached handling changes
...
this error has shown up for one of our users; I can't reproduce yet, but I can
make it better:
* log-don't-crash: not worth failing for this (drops the event, and also
rolls back the transaction such that nothing is achieved regarding eviction)
* provide more info on-error (various counts)
NB: I've also changed the < into a <=, and combined it with a check on "loop
not done". I _think_ they are functionally equivalent, and that the new version
is simply more clear as well as slightly more efficient.
In my understanding: the old version simply looped one more time before giving
up (because it was < it needed one more iteration, and because there was no
explicit check on 'loop done' that inefficiency was needed in the old formulation).
I say "I think" because I don't have a test specific to the edge-case.
2025-03-19 15:32:39 +01:00
Klaas van Schelven
fc4aae2dea
Retention tests: hit even more edge-cases
2025-03-19 14:49:29 +01:00
Klaas van Schelven
1d0c0c65ff
Retention tests/clarification: filter_for_work
2025-03-19 14:33:00 +01:00
Klaas van Schelven
d3c6627556
Add a more complicated case to the retention tests
...
this one tests at least multiple epochs and irrelevances
2025-03-19 14:18:28 +01:00
Klaas van Schelven
1b7865d3b9
Eviction: Tests and rewrite-for-understanding of epoch_bounds_with_irrelevance
2025-03-19 11:56:55 +01:00
Klaas van Schelven
f548eab778
Merge branch 'main' into tag-search
2025-03-10 09:09:40 +01:00
Klaas van Schelven
4b079487ca
make_consistent: explain the use of 'dangling fk cleanup'
2025-03-07 16:36:10 +01:00
Klaas van Schelven
0ade3c0f86
Add a comment about DB-CASCADE
2025-03-07 16:35:36 +01:00
Klaas van Schelven
24b0c32281
make_consistent: tag-related models added
2025-03-07 13:57:22 +01:00
Klaas van Schelven
96e07c4dc3
Tags: delete EventTag when Events are evicted
...
and document related things
2025-03-07 13:50:10 +01:00
Klaas van Schelven
97f03a8951
Rewrite 'eviction_target' comment
2025-03-06 14:03:51 +01:00
Klaas van Schelven
f76d3f4f40
Merge branch 'main' into tag-search
2025-03-05 16:05:17 +01:00
Klaas van Schelven
f25d693804
Add postgres to GitHub CI
...
A first step towards (experimental) postgres support, see #21
2025-03-05 12:20:51 +01:00
Klaas van Schelven
b98c1d4f44
MySQL recover from IntegrityError
...
as we do for the sqlite case
the need for this was revealed by running the testsuite against mysql
2025-03-05 11:04:41 +01:00
Klaas van Schelven
4cde74d7cb
Event search: first version
2025-03-04 13:51:56 +01:00
Klaas van Schelven
a00a815261
Merge branch 'main' into tag-search
2025-03-03 15:02:13 +01:00
Klaas van Schelven
c8ecf508de
Tags: on event details page show calculated tags
...
(not just the explicitly provided ones)
2025-03-03 11:29:07 +01:00
Klaas van Schelven
adf92f6b1b
make_consistent: update has_releases when needed
...
See #50
2025-03-03 09:06:31 +01:00
Klaas van Schelven
e10c1bf7ca
Remove 'store_events' command
...
this command to store all events on the local filesystem was useful
while 'scaffolding'; getting my hands on some initial event-data in
the early days of Bugsink, but it was never meant as a permanent tool
2025-02-27 15:14:05 +01:00
Klaas van Schelven
7a19e2d277
Tags; deducing tags; search on tags; WIP
2025-02-27 13:12:49 +01:00
Klaas van Schelven
4b7ed8f4ec
Rename get_contexts_enriched_with_ua
...
more closely match what's going on
2025-02-26 18:20:52 +01:00
Klaas van Schelven
073bc7aaec
make_consistent: add --dry-run
2025-02-19 12:06:16 +01:00
Klaas van Schelven
f4250d2db8
make_consistent: document possible way forward
2025-02-19 11:56:21 +01:00
Klaas van Schelven
92425890cd
make_consistent: take 'points to missing' into account while deleting
...
also: switch a number of deletions from in-the-loop deletions to
delete-using-sql.
2025-02-19 11:42:44 +01:00
Klaas van Schelven
14bc3688c7
retention: deletion counts, more defensive idiom
...
the dict as returned by Django won't contain 'events.Event' if none are deleted;
no observed bug for this line, but good measure to fix it anyway
2025-02-17 21:36:08 +01:00
Klaas van Schelven
3a1fe9acec
allow long-running queries on 'nuke' and 'make_consistent'
2025-02-17 21:32:39 +01:00
Klaas van Schelven
5766fb8485
Make_consistent: run in a transaction
...
'Nice consistency you got here. Be a shame if anything happened to it.'
2025-02-17 21:11:44 +01:00
Klaas van Schelven
e37274c9aa
nuke_events: improvements
...
* better name
* better confirmation box
* more complete deletion (turning points, groupings)
* run in transaction
2025-02-17 21:00:12 +01:00
Klaas van Schelven
b4bf6d01c3
Make import lazy for performance reasons ('cold start')
2025-02-17 13:31:03 +01:00
Klaas van Schelven
d3342f2671
Rename to event-storage for consistency
2025-02-14 17:08:04 +01:00
Klaas van Schelven
212882e65d
Add cleanup_eventstorage command
2025-02-14 17:06:56 +01:00
Klaas van Schelven
bfd6610f83
Add migrate_to_current_eventstore command
2025-02-14 14:34:29 +01:00
Klaas van Schelven
3ccef7fd50
FileEventStorage: create dir on-demand; fix and add tests
2025-02-12 21:19:18 +01:00
Klaas van Schelven
5559fba754
Introduce FileEventStorage
...
An (optional) way to store the `event_data` (full event as JSON)
outside the DB. This is expected to be useful for larger setups,
because it gives you:
* A more portable database (e.g. backups); (depeding on event size
the impact on your DB is ~50x.
* Less worries about hitting "physical" limits (e.g. disk size, max
file size) for your DB.
Presumably (more testing will happen going forwards) it will:
* Speed up migrations (especially on sqlite, which does full table
copies)
* Speed up event ingestion(?)
Further improvements in this commit:
* `delete_with_limit` was removed; this removes one tie-in to MySQL/Sqlite
(See #21 for this bullet)
2025-02-12 17:11:24 +01:00
Klaas van Schelven
4921f5a05d
Remove retention/eviction test-scripts
...
we've been having 'the real thing' for a while, no more need for
'scaffolding'
2025-02-12 09:55:28 +01:00
Klaas van Schelven
b3eb5acc04
Retention/eviction: add a minimal test
2025-02-12 09:53:36 +01:00
Klaas van Schelven
9f61602fc1
Retention, internal: make max_event_count non-optional
...
It was optional in anticipation of other methods of eviction, but YAGNI,
and the idea of evicting in batches of 500 is baked in quite hard (for
good reasons).
2025-02-12 09:00:12 +01:00
Klaas van Schelven
14d8e9e2fb
Fix: remove missed line
...
Should have been removed in cc861c8ba3
2025-02-11 11:00:23 +01:00
Klaas van Schelven
cc861c8ba3
Remove 2 fields that were "temporary [..] to get a sense of the shape of the data
2025-02-09 21:12:25 +01:00