-
Notifications
You must be signed in to change notification settings - Fork 133
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
Select using request Id return one row #375
Comments
I think you're hitting an issue introduced in #338 - that PR unconditionally overwrites your query with The statement object you get back will still indicate that you ran the original query, but if you look up the query in snowflake's query history you'll see it was actually |
hi, thank you for submitting this issue. special thanks to @beckjake for pinpointing where it breaks . we'll take a look. as a workaround, since the breaking change seems to have come with |
IMO, the feature where you don't have to send In our local fork of this, for what it's worth, I just changed the |
would like to update this one with some information discussed with the team over the past weeks.
|
@sfc-gh-dszmolka is there a way to consume result rows from a query in a distributed way? to me that's the main use case for using I imagine some flow like:
|
@epechuzal there is indeed at least one way to do this, like the following
|
#477 for enhancing the query executed in the background to return something meaningful instead of |
fix released with version 1.6.22 |
Hi @sfc-gh-dszmolka, very sorry for the long delay on this as I hadn't realized that there was maybe some misunderstanding about the nature of this issue, at least from my perspective as an end user.
I am pretty confident you can trigger this behavior without sending a request outside of the
You should be able to reproduce this bad behavior by introducing network errors in the connection process. Let me describe how it looks from my end. As the caller, I see that I got an error and that I have a request ID. A-ha, I say, I will retry my request per the docs, passing my request ID in to retry the request! So I retry the request, passing along my original SQL text. That sets request ID, which means my request doesn't run and instead I get a message telling me to use To quote the linked documentation:
This implies to me that if I use the request ID, I will 1) get the old result if it ran and 2) execute the command if the initial request failed. |
hi @beckjake that was definitely a misunderstanding on my end and thank you so much for clarifying the actual issue at hand here. Reopening this Issue now and we'll look into it further. |
We're working to get to a resolution for this issue. Please stay tuned. Thanks! |
fix PR #639, in progress |
fix is merged and will be part of the October's release, towards end of the month. Will update the issue once the release is out. |
node.js driver version 1.9.1 released with the fix and is available on npm. thank you all for bearing with us ! |
Please answer these questions before submitting your issue. Thanks!
What version of NodeJS are you using (
node --version
andnpm --version
)?16
What operating system and processor architecture are you using?
osx
Linux:
What are the component versions in the environment (
npm list
)?1.6.16
What did you do?
The table i am selecting has millions of rows. If I want to resume the fetch logic using request Id
the stream only returns one row
I expect to have a stream with all the query data
A stream that returns
No logs
The text was updated successfully, but these errors were encountered: