Skip to content
New issue

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

github.com/cockroachdb/pebble/internal/metamorphic: TestMetaTwoInstance failed #3761

Closed
cockroach-teamcity opened this issue Jul 16, 2024 · 0 comments · Fixed by #3785
Closed

Comments

@cockroach-teamcity
Copy link
Member

cockroach-teamcity commented Jul 16, 2024

github.com/cockroachdb/pebble/internal/metamorphic.TestMetaTwoInstance failed with artifacts on refs/heads/master @ b6c49f44e8cf:

=== RUN   TestMetaTwoInstance/compare/standard-015
=== RUN   TestMetaTwoInstance/compare/random-003
=== RUN   TestMetaTwoInstance/compare/random-004
=== RUN   TestMetaTwoInstance/compare/random-022
=== RUN   TestMetaTwoInstance/compare/random-023
=== RUN   TestMetaTwoInstance/compare/random-002
=== RUN   TestMetaTwoInstance/compare/standard-004
=== RUN   TestMetaTwoInstance/execution/random-003
=== PAUSE TestMetaTwoInstance/execution/random-003
=== CONT  TestMetaTwoInstance/execution/random-003
=== RUN   TestMetaTwoInstance/execution/random-015
=== PAUSE TestMetaTwoInstance/execution/random-015
=== CONT  TestMetaTwoInstance/execution/random-015
=== RUN   TestMetaTwoInstance/compare/standard-025
=== RUN   TestMetaTwoInstance/compare/standard-028
=== RUN   TestMetaTwoInstance/execution/random-004
=== PAUSE TestMetaTwoInstance/execution/random-004
=== CONT  TestMetaTwoInstance/execution/random-004
=== RUN   TestMetaTwoInstance/execution/random-017
=== PAUSE TestMetaTwoInstance/execution/random-017
=== CONT  TestMetaTwoInstance/execution/random-017
=== RUN   TestMetaTwoInstance/compare/standard-006
=== RUN   TestMetaTwoInstance/execution/standard-019
=== PAUSE TestMetaTwoInstance/execution/standard-019
=== CONT  TestMetaTwoInstance/execution/standard-019
=== RUN   TestMetaTwoInstance/execution/standard-024
=== PAUSE TestMetaTwoInstance/execution/standard-024
=== CONT  TestMetaTwoInstance/execution/standard-024
=== RUN   TestMetaTwoInstance/execution/standard-026
=== PAUSE TestMetaTwoInstance/execution/standard-026
=== CONT  TestMetaTwoInstance/execution/standard-026
=== RUN   TestMetaTwoInstance/compare/random-008
=== RUN   TestMetaTwoInstance/execution/random-008
=== PAUSE TestMetaTwoInstance/execution/random-008
=== CONT  TestMetaTwoInstance/execution/random-008
=== RUN   TestMetaTwoInstance/execution/standard-000
=== PAUSE TestMetaTwoInstance/execution/standard-000
=== CONT  TestMetaTwoInstance/execution/standard-000
=== RUN   TestMetaTwoInstance/compare/random-012
=== RUN   TestMetaTwoInstance/compare/standard-011
=== RUN   TestMetaTwoInstance/compare/standard-013
=== RUN   TestMetaTwoInstance/execution/standard-004
=== PAUSE TestMetaTwoInstance/execution/standard-004
=== CONT  TestMetaTwoInstance/execution/standard-004
=== RUN   TestMetaTwoInstance/execution/standard-008
=== PAUSE TestMetaTwoInstance/execution/standard-008
=== CONT  TestMetaTwoInstance/execution/standard-008
=== RUN   TestMetaTwoInstance/execution/standard-010
=== PAUSE TestMetaTwoInstance/execution/standard-010
=== CONT  TestMetaTwoInstance/execution/standard-010
Help

To reproduce, try:

go test -tags 'invariants' -exec 'stress -p 1' -timeout 0 -test.v -run 'TestMetaTwoInstance$' ./internal/metamorphic -seed 1721112649361698765 -ops "uniform:5000-10000"

This test on roachdash | Improve this report!

Jira issue: PEBBLE-224

@nicktrav nicktrav moved this from Incoming to Tests (failures, skipped, flakes) in [Deprecated] Storage Jul 16, 2024
itsbilal added a commit to itsbilal/pebble that referenced this issue Jul 18, 2024
Previously, our iterator creation code created invalid iterators
instead of returning nil for point iterators if we tried to create
point iterators on a file with `hasPointKeys == false`. This change
addresses that, and also updates `truncateSharedFile` to handle
cases where the point key iterator is nil.

Fixes cockroachdb#3761.
@itsbilal itsbilal moved this from Tests (failures, skipped, flakes) to In Progress (this milestone) in [Deprecated] Storage Jul 18, 2024
itsbilal added a commit to itsbilal/pebble that referenced this issue Jul 19, 2024
Previously, if we shared a truncated file with no points,
we would try to seek on a nil point iterator, which has undefined
behaviour. This change addresses it in truncateSharedFiles, to not
use a nil point iterator.

Fixes cockroachdb#3761.
itsbilal added a commit to itsbilal/pebble that referenced this issue Jul 22, 2024
Currently, if we skipBackward in singleLevelIterator and come
across a seemingly empty data block, we stop right there. This
is not safe if hide obsolete points is true, as the block could
have just been obsolete in its entirety. This change makes the
iterator continue iterating backward until some other termination
condition is exhausted.

This matches the behaviour for two-level iterators, as well as
for skipForward in single-level iterators.

Fixes cockroachdb#3761.
itsbilal added a commit to itsbilal/pebble that referenced this issue Jul 22, 2024
Currently, if we skipBackward in singleLevelIterator and come
across a seemingly empty data block, we stop right there. This
is not safe if hide obsolete points is true, as the block could
have just been obsolete in its entirety. This change makes the
iterator continue iterating backward until some other termination
condition is exhausted.

This matches the behaviour for two-level iterators, as well as
for skipForward in single-level iterators.

Fixes cockroachdb#3761.
itsbilal added a commit to itsbilal/pebble that referenced this issue Jul 25, 2024
Currently, if we skipBackward in singleLevelIterator and come
across a seemingly empty data block, we stop right there. This
is not safe if hide obsolete points is true, as the block could
have just been obsolete in its entirety. This change makes the
iterator continue iterating backward until some other termination
condition is exhausted.

This matches the behaviour for two-level iterators, as well as
for skipForward in single-level iterators.

Fixes cockroachdb#3761.
@github-project-automation github-project-automation bot moved this from In Progress (this milestone) to Done in [Deprecated] Storage Jul 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment