Open justyns opened 5 years ago
Just to add since I discovered this: Running with the -m
option when compression fails like this causes a panic:
Fetching state from DB for room '!UBhRLVEYYvUWnsljRs:matrix.org'...
[1s] 3951 rows retrieved
Got initial state from database. Checking for any missing state groups...
No missing state groups
Number of state groups: 610
Number of rows in current table: 3945
Compressing state...
[00:00:00] ████████████████████ 610/610 state groups
Number of rows after compression: 7598 (192.60%)
Compression Statistics:
Number of forced resets due to lacking prev: 18
Number of compressed rows caused by the above: 3701
Number of state groups changed: 69
thread 'main' panicked at 'attempt to subtract with overflow', src/main.rs:232:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Yes, it is expected that the compressor may produce slightly more rows, especially if its run on a room that has previously been compressed. We should probably handle that case better, by e.g. having the generated SQL be a no-op.
@TeknikalDomain can you open a new issue for that please?
@erikjohnston Done.
I ran this against each room in my database to see what sort of changes it would want to make, and I'm wondering if it's normal for it to generate more rows than we started with?
For example:
Full list, there are a couple others above 100%: