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
Add ability to trace mutation form from each data source during query #11130
Comments
Printing the mutation as json seems like a good idea so analyzing it could be automated. |
We already have a mutation -> json converter in https://github.com/scylladb/scylla/blob/81e20ceaab8f54938aa77842ee5c9d9e62639432/tools/scylla-sstable.cc#L324. |
When a mutation reader creates subordinate readers, then we could create subordinate trace_state objects that name the subordinate and its parent. This would recreate the reader tree in runtime without much effort. |
I'm, thinking a virtual table would be a better fit than tracing. The potential amount of data is huge, and it can be duplicated in all the different data sources, or even multiple times in a single data source. A virtual table naturally lends itself to delivering large amounts of data, and if done right, advanced filtering/redacting should be easily possible. |
I opened an RFC PR using the virtual table approach: #14083. |
@bhalevy - this looks like an important improvement to our ability to debug issues - can we push it forward? |
Knowing mutation form returned by each of the data source touched by a query would be very helpful in debugging issues related to incorrect query results.
The user wouldn't have to share whole sstables with us, so the process would be easier and faster. Sensitive data could be easily removed. We could add an option to do this automatically, removing cell values and obfuscate keys. The user could keep the obfuscation translation map for reference.
It could be reported via CQL tracing and enabled with a new query syntax (like "bypass cache"), e.g.:
\cc @bhalevy
The text was updated successfully, but these errors were encountered: