-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
I noticed setting the col name/table name incorrectly crashes the proxy when using an UPDATE clause.
THe following snippet induces an intentional typo of vale instead of val causing the proxy to exit. I have tried typos in other types of statement, where it seems to be returning an appropriate error message.
Note that val is not a pk column.
cqlsh
Connected to cql-proxy at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 4.0.0.6816 | CQL spec 3.4.5 | Native protocol v4]
Use HELP for help.
cqlsh> use testkeyspace;
cqlsh:testkeyspace> UPDATE test_table SET val = 10 WHERE id = 1;
cqlsh:testkeyspace> UPDATE test_table SET vale = 10 WHERE id = 1;
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x128a7fa]
goroutine 107 [running]:
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/translator.parseAssignments({0xc000789230, 0x1, 0x0?}, {0xc00074a860, 0xa}, 0xc000207be0)
/home/deepchowdhury/cassandra-to-spanner-proxy/translator/translator_update.go:73 +0x35a
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/translator.(*Translator).ToSpannerUpdate(0xc0005a2d20, {0xc0005aa6dc, 0xe}, {0xc00011ac60, 0x2d})
/home/deepchowdhury/cassandra-to-spanner-proxy/translator/translator_update.go:275 +0x631
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxy.(*client).handleQuery(0xc0005af360, 0xc00077c880, 0xc000788de0)
/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxy/proxy.go:1604 +0x2a75
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxy.(*client).Receive(0xc0005af360, {0x194eca0?, 0xc00065cd80?})
/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxy/proxy.go:646 +0x62b
github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxycore.(*Conn).read(0xc00065cde0)
/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxycore/conn.go:114 +0x33
created by github.com/cloudspannerecosystem/cassandra-to-spanner-proxy/third_party/datastax/proxycore.(*Conn).Start in goroutine 121
/home/deepchowdhury/cassandra-to-spanner-proxy/third_party/datastax/proxycore/conn.go:107 +0x56
NoHostAvailable:
cqlsh:testkeyspace> exit
[1]+ Exit 2 ./cassandra-to-spanner-proxy
Metadata
Metadata
Assignees
Labels
No labels