We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Found via a metamorphic test run (logs).
===== SEED ===== 1652508047427439982 ===== DIFF ===== /artifacts/meta/220514-060047.427/{standard-000,standard-008} @@ -137,19 +137,19 @@ db.RangeKeySet("dfdr", "dsmyui", "@1", "qmsu") // <nil> #137 iter1.SeekGE("dsmyui@1", "") // [false] <nil> #138 iter1.SetOptions("dfdr", "tlvnybcpi", 1 /* key types */, "" /* masking suffix */) // <nil> #139 iter1.SeekPrefixGE("tlvnybcpi") // [false] <nil> #140 batch2.Merge("tlvnybcpi", "qwzlmskgqfwxzoxmpt") // <nil> #141 -iter1.First() // [true,"dfdr",<no point>,["dfdr","dsmyui")=>{""="xhjdqkiufb","@1"="qmsu"}] <nil> #142 +iter1.First() // [true,"dfdr",<no point>,["dfdr","tlvnybcpi")=>{""="xhjdqkiufb"}] <nil> #142 db.DeleteRange("tlvnybcpi", "vhicxainxj@1") // <nil> #143 iter1.Prev("") // [false] <nil> #144 -iter1.SeekLT("vhicxainxj@1", "") // [true,"dsmyui",<no point>,["dsmyui","tlvnybcpi")=>{""="xhjdqkiufb"}] <nil> #145 -iter1.SeekGE("bjykm", "") // [true,"dfdr",<no point>,["dfdr","dsmyui")=>{""="xhjdqkiufb","@1"="qmsu"}] <nil> #146 +iter1.SeekLT("vhicxainxj@1", "") // [true,"dfdr",<no point>,["dfdr","tlvnybcpi")=>{""="xhjdqkiufb"}] <nil> #145 +iter1.SeekGE("bjykm", "") // [true,"dfdr",<no point>,["dfdr","tlvnybcpi")=>{""="xhjdqkiufb"}] <nil> #146 db.Merge("dfdr", "rfgpzavquiyogmgxpe") // <nil> #147 -iter1.Next("vhicxainxj@1") // [valid,"dsmyui",<no point>,["dsmyui","tlvnybcpi")=>{""="xhjdqkiufb"}] <nil> #148 +iter1.Next("vhicxainxj@1") // [invalid] <nil> #148 iter1.SetBounds("", "tlvnybcpi") // <nil> #149 -iter1.First() // [true,"dfdr",<no point>,["dfdr","dsmyui")=>{""="xhjdqkiufb","@1"="qmsu"}] <nil> #150 +iter1.First() // [true,"dfdr",<no point>,["dfdr","tlvnybcpi")=>{""="xhjdqkiufb"}] <nil> #150 iter1.SetBounds("", "tlvnybcpi") // <nil> #151 iter1.Prev("") // [false] <nil> #152 iter1.SeekGE("tlvnybcpi", "") // [false] <nil> #153 iter1.Close() // <nil> #154 db.Ingest(batch2) // <nil> #155
SHA: b8c9a560bed5.
b8c9a560bed5
NOTE: I filled this in manually, as we didn't get an automated issue.
The text was updated successfully, but these errors were encountered:
cc: @jbowens - similar to #1696. Possibly the same underlying issue, just want to track separately in case it's something different.
Sorry, something went wrong.
Confirmed it's the same issue as #1696.
The problematic iterator is an iterator over an indexed batch.
iter1 = batch2.NewIter("", "", 0 /* key types */, "" /* masking suffix */) // <nil> #93
The batch receives a range key set over the span [dfdr, tlvnybcpi).
[dfdr, tlvnybcpi)
batch2.RangeKeySet("dfdr", "tlvnybcpi", "", "xhjdqkiufb") // <nil> #97
Later, a range key set is committed directly to the database.
db.RangeKeySet("dfdr", "dsmyui", "@1", "qmsu") // <nil> #137
Since this is committed after iter1 is opened, iter1 must not observe it. But in standard-000, it does:
iter1
standard-000
iter1.First() // [true,"dfdr",<no point>,["dfdr","dsmyui")=>{""="xhjdqkiufb","@1"="qmsu"}] <nil> #142
This is because the batch's RANGEKEYSET again tickles the Span.Visible bug.
RANGEKEYSET
Span.Visible
No branches or pull requests
Found via a metamorphic test run (logs).
SHA:
b8c9a560bed5
.NOTE: I filled this in manually, as we didn't get an automated issue.
The text was updated successfully, but these errors were encountered: