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

Add note about guardrails on WHERE … IN … #1899

Open
wants to merge 1 commit into
base: 4.x
Choose a base branch
from

Conversation

emeliawilkinson24
Copy link
Contributor

@emeliawilkinson24 emeliawilkinson24 commented Dec 4, 2023

For DOC-4062 (private)

Issue: One of my customer has encountered an issue while using more than 25 values in the IN clause.

Answer: “It is invalid pattern with Cassandra 4 and guardails. The problem is the load is transferred from the client to the coordinator. They should go with parallal queries and reduce on the client side: faster and dstribute the load on the nodes”

@michaelsembwever michaelsembwever changed the title Cedrick's note about guardrails Add note about guardrails on WHERE … IN … Apr 6, 2024
@michaelsembwever
Copy link
Member

this looks good to me.

@absurdfarce

@absurdfarce
Copy link
Contributor

I do have a few questions. @michaelsembwever I don't know if you can help with some/all of these... I can follow up other places if need be.

  1. This change appears to stem from the work on CEP-3. Does this only apply to OSS C* or does it also apply to DSE and/or Astra as well?
  2. If it's just a C* thing is there a version dependency on when users need to worry about this behaviour? It looks like most of the CEP-3 work came in with 4.1... should we limit this advice to specific versions (or describe differing behaviours for impls before and after CEP-3 came along)?
  3. These docs reference a limit of 25 values in an IN clause. Is that a fixed limit or is it configurable? If it's configurable we might want to provide guidance to the user about how to configure it.
  4. Seems like we might want to provide a pointer to other information about these constraints. This could take the form of a pointer to CEP-3 but if there are other resources that explain this in a user-friendly way we should consider those instead.

@michaelsembwever
Copy link
Member

I agree with your concerns. I think the easiest way to address this is to change the language to be informative about server-side restrictions that the user may hit, reference the correct cassandra docs. From the driver's PoV these restrictions are ultimately unknown.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants