-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Revert "Improve Redshift" #15410
Revert "Improve Redshift" #15410
Conversation
@findepi , have you identified any technical issues with this PR? Can they be addressed incrementally? Regarding testing, I don't believe we have any automated tests for redshift at this time, so that PR doesn't change this fact. However, it appears based on the comment in the PR that tests were run on the new code:
Unless there's something broken (a regression) or this is introducing user-facing behaviors that need more discussion, I don't think there's a point in reverting it, especially if we're just going to turn around and resubmit the same code. |
#15365 is changing type mapping of the Redshift connector. Any production usage of this connector will be now broken after the update of Trino. There is no way to restore previous behavior. |
Please take a look at the PR description. To me, the motivation behind this PR is not that much technical but it is more about the process it was done. I would prefer to avoid such precedences to avoid situations in future where one is using #15365 as justification for shortcuts. |
We can talk about process and improve it going forward, but I don’t see how reverting the change fixes that. If the type mappings are a problem, we should fix those or revert that part (assuming we don’t want that behavior at all). Is that what we want to do? |
Things that cannot be fixed incrementally:
|
I am not sure if it is what we want. I think instead of changing the existing connector I would prefer to add a new one and deprecate the old one. Then eventually remove the old one. |
Reverting doesn't fix that either. The authors were added to the original PR description: "This was co-authored by: @alexjo2144 @ebyhr @findepi @findinpath @grantatspothero @hashhar @jirassimok @kokosing @losipiuk @Praveen2112 @raunaqmorarka @skrzypo987 @ssheikin @wendigo"
It was tested manually, according to the PR description. There's currently no infrastructure for testing the Redshift connector automatically, so that's all we can do at this time.
As far as I can tell, it was reviewed by @electrum (and, indirectly, @dain, since he wasn't one of the original authors). However, unless there's something broken or fundamentally wrong with the changes, applying incremental fixes is preferable at this point. |
d5db88f
to
959a4a4
Compare
(just rebased, due to a force-push to master (#15365 (comment)), no other changes) |
721176d
to
56c309c
Compare
56c309c
to
4b31482
Compare
We have a precedent of not accepting connectors without tests running in CI (excluding things which we inherited from Presto), preserving attribution/CLA when contributing code and doing transparent code reviews - regardless of the source or author of the PR. So the action IMO should be:
Since the people maintaining the JDBC connectors is mostly me, @ebyhr and @findepi I'll wait for @ebyhr's opinion and merge this then. Also the connector changes are a breaking change because queries now return different results and any CTAS/INSERT queries which people had will start failing until people change the table definition. Both versions 403 and 405 will not be able to co-exist and it'll be a one-way upgrade. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still haven’t heard a compelling technical reason for reverting this change. If there are parts that are problematic, then we should fix them or revert those specific parts. From what I see in the list of commits, there are at least a few we want to keep around.
In particular, the only problematic one seems the one that changes the type mappings, but the other ones should not break compatibility and are good improvements to the connector. |
@martint What's your opinion about "setting bad precedence for testing infrastructure for new plugins like Snowflake connector..." in #15410 (comment)? |
I'm not saying the changes are bad. |
@ebyhr My opinion on that, and I know it’s not shared by many others, is that not all code can be easily tested and testing is inherently flawed anyway, so that should not be an impediment to making forward progress. As long as good faith effort was made to test a change (manually, by adding manual tests or automated tests), I would have no problem accepting a change. Testing provides degrees of confidence on the correctness of a change, but they cannot prove it works in all situations, existing and future ones. |
agreed 💯 |
The revamped Redshift plugin has been released, so we no longer have a door open to reintroducing it respecting the process (allow review) and quality (testing what we ship). It is good that the code authorship has been restored. The ship has sailed. |
Reverts #15365
That PR was merged violating the code of conduct (lack of any form of attribution to actual code authors), Trino review process (quick merge without letting other maintainers to chime in) and jeopardizing the quality (lack of automated tests).
In the spirit of @martint's #15403, we should revert the change and re-submit it again. This is necessary to unblock the release.