toeverything / OctoBase

🐙 OctoBase is the open-source database behind AFFiNE, local-first, yet collaborative. A light-weight, scalable, data engine written in Rust.
https://octobase.dev
GNU Affero General Public License v3.0
1.32k stars 83 forks source link

fix: infinite re-apply when apply a incomplete update #519

Closed darkskygit closed 1 year ago

vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
octobase ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 23, 2023 7:13am
codecov[bot] commented 1 year ago

Codecov Report

Patch coverage has no change and project coverage change: -0.01% :warning:

Comparison is base (88cdab7) 64.69% compared to head (3b965b2) 64.69%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #519 +/- ## ========================================== - Coverage 64.69% 64.69% -0.01% ========================================== Files 184 184 Lines 21005 21006 +1 ========================================== - Hits 13590 13589 -1 - Misses 7415 7417 +2 ``` | [Files Changed](https://app.codecov.io/gh/toeverything/OctoBase/pull/519?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=toeverything) | Coverage Δ | | |---|---|---| | [libs/jwst-codec/src/doc/document.rs](https://app.codecov.io/gh/toeverything/OctoBase/pull/519?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=toeverything#diff-bGlicy9qd3N0LWNvZGVjL3NyYy9kb2MvZG9jdW1lbnQucnM=) | `75.30% <0.00%> (-0.23%)` | :arrow_down: | ... and [4 files with indirect coverage changes](https://app.codecov.io/gh/toeverything/OctoBase/pull/519/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=toeverything)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 1 year ago

Benchmark Results

Linux

group                                     master                                 pr
-----                                     ------                                 --
codec/jwst decode var_int (32 bit)        1.00    486.3±4.52µs        ? ?/sec    1.01    490.9±5.17µs        ? ?/sec
codec/jwst decode var_uint (32 bit)       1.02    336.0±1.92µs        ? ?/sec    1.00    329.4±4.62µs        ? ?/sec
codec/jwst decode var_uint (64 bit)       1.00    342.3±4.45µs        ? ?/sec    1.01    347.2±0.54µs        ? ?/sec
codec/jwst encode var_int (32 bit)        1.00   626.9±11.92µs        ? ?/sec    1.02    638.5±7.59µs        ? ?/sec
codec/jwst encode var_uint (32 bit)       1.00    382.3±2.99µs        ? ?/sec    1.00    380.6±4.78µs        ? ?/sec
codec/jwst encode var_uint (64 bit)       1.01    384.0±3.41µs        ? ?/sec    1.00    381.9±9.03µs        ? ?/sec
codec/lib0 decode var_int (64 bit)        1.00    351.1±4.32µs        ? ?/sec    1.01    354.6±2.24µs        ? ?/sec
codec/lib0 decode var_uint (32 bit)       1.00    492.1±7.57µs        ? ?/sec    1.02    499.5±4.22µs        ? ?/sec
codec/lib0 decode var_uint (64 bit)       1.00    456.8±4.52µs        ? ?/sec    1.01    461.1±1.84µs        ? ?/sec
codec/lib0 encode var_int (64 bit)        1.00    550.0±8.65µs        ? ?/sec    1.02    563.3±2.74µs        ? ?/sec
codec/lib0 encode var_uint (32 bit)       1.02    474.9±5.15µs        ? ?/sec    1.00    464.5±6.06µs        ? ?/sec
codec/lib0 encode var_uint (64 bit)       1.00    449.6±3.65µs        ? ?/sec    1.00    447.5±4.51µs        ? ?/sec
ops/array/jwst/insert                     1.00    448.5±4.64µs        ? ?/sec    1.01    451.7±3.20µs        ? ?/sec
ops/array/jwst/insert range               1.01    615.8±2.09µs        ? ?/sec    1.00    611.7±4.75µs        ? ?/sec
ops/array/jwst/remove                     1.02    308.8±1.20µs        ? ?/sec    1.00    302.8±4.08µs        ? ?/sec
ops/array/yrs/insert                      1.00    106.1±0.61µs        ? ?/sec    1.00    106.3±1.20µs        ? ?/sec
ops/array/yrs/insert range                1.01    136.1±1.20µs        ? ?/sec    1.00    134.8±1.52µs        ? ?/sec
ops/array/yrs/remove                      1.03    121.9±1.24µs        ? ?/sec    1.00    118.6±1.25µs        ? ?/sec
ops/text/jwst/insert                      1.01    183.1±0.90µs        ? ?/sec    1.00    180.6±2.85µs        ? ?/sec
ops/text/jwst/remove                      1.00      3.7±0.04µs        ? ?/sec    1.00      3.7±0.03µs        ? ?/sec
ops/text/yrs/insert                       1.01     53.3±0.23µs        ? ?/sec    1.00     52.9±0.38µs        ? ?/sec
ops/text/yrs/remove                       1.00      3.0±0.01µs        ? ?/sec    1.00      3.0±0.02µs        ? ?/sec
update/parse with jwst/basic.bin          1.00     80.7±0.52µs    67.7 MB/sec    1.01     81.6±0.50µs    66.9 MB/sec
update/parse with jwst/database.bin       1.00     65.0±0.78µs    51.0 MB/sec    1.01     65.4±0.51µs    50.6 MB/sec
update/parse with jwst/large.bin          1.01      4.3±0.02ms    53.6 MB/sec    1.00      4.2±0.05ms    53.9 MB/sec
update/parse with jwst/with-subdoc.bin    1.00      7.7±0.13µs    91.3 MB/sec    1.01      7.7±0.03µs    90.7 MB/sec
update/parse with yrs/basic.bin           1.00     52.7±0.47µs   103.7 MB/sec    1.00     52.7±0.25µs   103.7 MB/sec
update/parse with yrs/database.bin        1.01     43.0±0.11µs    77.1 MB/sec    1.00     42.5±0.51µs    77.9 MB/sec
update/parse with yrs/large.bin           1.00      2.7±0.01ms    85.7 MB/sec    1.00      2.7±0.02ms    86.1 MB/sec
update/parse with yrs/with-subdoc.bin     1.01      6.5±0.06µs   108.2 MB/sec    1.00      6.4±0.05µs   109.3 MB/sec

Windows

group                                     master                                 pr
-----                                     ------                                 --
codec/jwst decode var_int (32 bit)        1.00    365.8±4.79µs        ? ?/sec    1.00    365.2±5.27µs        ? ?/sec
codec/jwst decode var_uint (32 bit)       1.01    432.7±7.35µs        ? ?/sec    1.00    430.1±5.70µs        ? ?/sec
codec/jwst decode var_uint (64 bit)       1.00    324.3±4.52µs        ? ?/sec    1.00    323.2±4.06µs        ? ?/sec
codec/jwst encode var_int (32 bit)        1.00    497.3±6.87µs        ? ?/sec    1.00    496.0±6.77µs        ? ?/sec
codec/jwst encode var_uint (32 bit)       1.01    303.9±4.94µs        ? ?/sec    1.00    299.9±4.24µs        ? ?/sec
codec/jwst encode var_uint (64 bit)       1.01    304.1±5.42µs        ? ?/sec    1.00    299.7±4.60µs        ? ?/sec
codec/lib0 decode var_int (64 bit)        1.00    433.7±8.51µs        ? ?/sec    1.00    431.9±8.28µs        ? ?/sec
codec/lib0 decode var_uint (32 bit)       1.00    243.0±2.83µs        ? ?/sec    1.00    242.7±2.94µs        ? ?/sec
codec/lib0 decode var_uint (64 bit)       1.00    243.8±3.39µs        ? ?/sec    1.00    243.2±3.11µs        ? ?/sec
codec/lib0 encode var_int (64 bit)        1.01   603.5±10.52µs        ? ?/sec    1.00    600.4±6.79µs        ? ?/sec
codec/lib0 encode var_uint (32 bit)       1.01    401.7±5.09µs        ? ?/sec    1.00    399.2±5.18µs        ? ?/sec
codec/lib0 encode var_uint (64 bit)       1.01    419.9±5.29µs        ? ?/sec    1.00    413.9±7.15µs        ? ?/sec
ops/array/jwst/insert                     1.00    416.3±8.76µs        ? ?/sec    1.00    416.7±4.60µs        ? ?/sec
ops/array/jwst/insert range               1.00    551.8±6.50µs        ? ?/sec    1.00    550.7±5.49µs        ? ?/sec
ops/array/jwst/remove                     1.00    271.5±3.00µs        ? ?/sec    1.00    271.0±4.50µs        ? ?/sec
ops/array/yrs/insert                      1.00    105.2±1.36µs        ? ?/sec    1.01    106.6±1.13µs        ? ?/sec
ops/array/yrs/insert range                1.01    150.1±2.72µs        ? ?/sec    1.00    148.7±3.35µs        ? ?/sec
ops/array/yrs/remove                      1.00    157.0±1.96µs        ? ?/sec    1.00    156.5±1.71µs        ? ?/sec
ops/text/jwst/insert                      1.00    182.9±3.72µs        ? ?/sec    1.00    182.3±1.94µs        ? ?/sec
ops/text/jwst/remove                      1.00      4.4±0.13µs        ? ?/sec    1.03      4.6±0.07µs        ? ?/sec
ops/text/yrs/insert                       1.00     46.5±0.53µs        ? ?/sec    1.00     46.3±0.49µs        ? ?/sec
ops/text/yrs/remove                       1.26      4.7±0.07µs        ? ?/sec    1.00      3.7±0.05µs        ? ?/sec
update/parse with jwst/basic.bin          1.01     98.7±1.52µs    55.3 MB/sec    1.00     97.5±1.78µs    56.0 MB/sec
update/parse with jwst/database.bin       1.01     76.6±0.75µs    43.2 MB/sec    1.00     75.9±0.68µs    43.7 MB/sec
update/parse with jwst/large.bin          1.02      4.8±0.14ms    48.0 MB/sec    1.00      4.7±0.19ms    49.1 MB/sec
update/parse with jwst/with-subdoc.bin    1.06     14.9±0.13µs    46.9 MB/sec    1.00     14.1±0.13µs    49.6 MB/sec
update/parse with yrs/basic.bin           1.02     66.6±0.88µs    81.9 MB/sec    1.00     65.6±0.52µs    83.3 MB/sec
update/parse with yrs/database.bin        1.05     52.4±0.53µs    63.2 MB/sec    1.00     50.1±0.43µs    66.1 MB/sec
update/parse with yrs/large.bin           1.02      3.2±0.12ms    71.6 MB/sec    1.00      3.1±0.13ms    72.8 MB/sec
update/parse with yrs/with-subdoc.bin     1.00     11.7±0.13µs    60.0 MB/sec    1.01     11.7±0.13µs    59.7 MB/sec