Skip to content

Gemini generates unexpected values for the columns #431

Open
@CodeLieutenant

Description

  • Crashed during the serialization into PrettyCQL
    panic: unexpected varint value [int8]-73
goroutine 31 [running]:
github.com/scylladb/gemini/pkg/typedef.SimpleType.CQLPretty({0x1188397, 0x6}, {0x1072ca0, 0x169d358})
        /gemini/pkg/typedef/simple_type.go:111 +0x1daa
github.com/scylladb/gemini/pkg/typedef.prettyCQL({0xc00003e180, 0xba}, {0xc0001b23c0, 0x1e, 0x1e}, {0xc000266140, 0x13, 0x13})
        /gemini/pkg/typedef/typedef.go:260 +0x638
github.com/scylladb/gemini/pkg/typedef.(*Stmt).PrettyCQL(0xc0002763c0)
        /gemini/pkg/typedef/typedef.go:99 +0x1b5
github.com/scylladb/gemini/pkg/stmtlogger.(*fileLogger).committer(0xc0002ad380)
        /gemini/pkg/stmtlogger/filelogger.go:93 +0x172
created by github.com/scylladb/gemini/pkg/stmtlogger.NewFileLogger in goroutine 1
        /gemini/pkg/stmtlogger/filelogger.go:139 +0x316

  • Executes till the end but the Query should be executed (but somehow is)
    QUERY:
SELECT * FROM ks1.table1 WHERE pk0 IN ([-24201]) AND pk1 IN (700471893039039.692) AND pk2 IN (-74) AND pk3 IN ('e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96dac54d987e5a54e9520cb01da7dc8e96d')

Column Types: pk0 = DECIMAL, pk1 = TinyINT, pk2 = TEXT, pk3 = ACII
Values provided in the query are completely wrong

  • When running gemini with features=normal, this activates checking of materialized-views and indexes. There is an issue when validating materialized-views rows against oracle (that's a bug), but the gemini crashes when it tries to print the resulting CQL query with a missing field access.
{"L":"INFO","T":"2024-08-27T12:08:11.574Z","N":"work cycle.validation_job","M":"starting validation loop"}
{"L":"INFO","T":"2024-08-27T12:08:12.353Z","N":"work cycle.validation_job","M":"Validation failed. Error: unable to load check data from the oracle store: gocql: expected 4 values send got 5"}
{"L":"INFO","T":"2024-08-27T12:08:12.354Z","N":"work cycle.validation_job","M":"ending validation loop"}

The current suggestion (as discussed with @fruch) is to disable materialized-views with a CLI flag and make gemini usable (done in #424), but this should be tackled differently (probably rewrite of the materialized views code in gemini)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Labels

bugSomething isn't workingcrash

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions