-
Notifications
You must be signed in to change notification settings - Fork 80
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
feat: Add TableDataService#getRawTableLocationProvider #5966
Conversation
This reverts commit 9ee6a6e.
...e/src/main/java/io/deephaven/engine/table/impl/locations/impl/CompositeTableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
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.
Trivial review. This appear to be in the spirit of what we discussed, I just think we should be more precise in the documentation. Darin's comments re: correctness seem valid.
Originally, I thought looking up a raw TLP should not apply filters, but I'm convinced you've made the right call; the TLP is raw, but which TLP we select still applies the TDS's rules.
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
Per Darin and Ryan Co-authored-by: Ryan Caudy <rcaudy@gmail.com> Co-authored-by: Darin Petty <github@fourpettys.com>
… of constants" This reverts commit a2399e0.
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/io/deephaven/engine/table/impl/locations/impl/CompositeTableDataService.java
Outdated
Show resolved
Hide resolved
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
Per Darin Co-authored-by: Darin Petty <github@fourpettys.com>
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.
With the two comments below, it looks like you could end up with multiple services that cause a false collision in CompositeTDS. If CTDS has (directly or indirectly) two FilteredTDSs that could potentially handle the TLK, both will be returned and you will get an error, even if you have crafted a system where they don't actually collide, as in the LTDS scenario I described in slack.
I think the fix is to query each candidate TLP with hasTableLocation to find out if it actually has a location, not just might have it.
engine/table/src/main/java/io/deephaven/engine/table/impl/locations/TableDataService.java
Outdated
Show resolved
Hide resolved
...le/src/main/java/io/deephaven/engine/table/impl/locations/impl/FilteredTableDataService.java
Show resolved
Hide resolved
Darin's observations makes me think about a couple more things:
|
Maybe you could take Darin's suggestion and go one step further: if the TLP doesn't exist at some level, or no TLP is found that has the TLK in question, return |
I'm thinking of a couple ways to determine "if the TLP doesn't exist at some level":
Are you fine w/ either? If not, how do you propose going about it? |
Off-GH, Ryan helped me realize the issues associated w/ the default TDS#getRawTlp impl. Removing it and adding an ATDS#getRawTlp impl seems to address both Darin's and my concerns. |
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.
LGTM
Satisfies #6001.