• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / luajit / 7168679816
89%
tarantool/master: 93%

Build:
Build:
LAST BUILD BRANCH: tarantool/release/2.11
DEFAULT BRANCH: tarantool/master
Ran 11 Dec 2023 02:15PM UTC
Jobs 1
Files 89
Run time 10s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Dec 2023 01:52PM UTC coverage: 88.641% (-0.05%) from 88.69%
7168679816

push

github

Buristan
Emit sunk IR_NEWREF only once per key on snapshot replay.

Thanks to Sergey Kaplun and Peter Cawley.

(cherry-picked from commit 1761fd2ef)

Assume we have the parent trace with the following IRs:

| 0001 }  tab TNEW   #0    #0
| 0002 }  p32 NEWREF 0001  "key"
| 0003 }  fal HSTORE 0002  false
| ....        SNAP   #1   [ ---- ---- 0001 ---- ]
| 0004 >  num SLOAD  #1    T
| ....        SNAP   #2   [ ---- ---- 0001 ]
| 0005 >  num EQ     0004  0004
| 0006 }  tru HSTORE 0002  true
| ....        SNAP   #3   [ ---- ---- 0001 true ]

The side trace for the third snapshot emits the following IRs:

| 0001    tab TNEW   #0    #0
| 0002    p32 NEWREF 0001  "key"
| 0003    fal HSTORE 0002  false
| 0004    p32 NEWREF 0001  "key"
| 0005    tru HSTORE 0004  true

As we can see, `NEWREF` is emitted twice. This is a violation of its
semantics, so the second store isn't noticeable.

This patch prevents the second emitting of IR NEWREF by checking the last
one emitted NEWREF IR. There is no need to check NEWREFs beyond since
it guarantees the snapshot is taken after it, because it may cause table
rehashing, so all prior results are invalidated.

Sergey Kaplun:
* added the description and the test for the problem

Resolves tarantool/tarantool#7937
Part of tarantool/tarantool#9145

5382 of 5990 branches covered (0.0%)

Branch coverage included in aggregate %.

11 of 11 new or added lines in 1 file covered. (100.0%)

18 existing lines in 5 files now uncovered.

20642 of 23369 relevant lines covered (88.33%)

2749523.82 hits per line

Jobs
ID Job ID Ran Files Coverage
1 7168679816.1 11 Dec 2023 02:15PM UTC 0
88.64
GitHub Action Run
Source Files on build 7168679816
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #7168679816
  • 729286c2 on github
  • Prev Build on tarantool/master (#7119513155)
  • Next Build on skaplun/lj-1128-double-ir-newref-on-restore-sunk (#7179957946)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc