Bug 1252914
Summary: | JDG translator has disabled capabilities for GT and LT | ||
---|---|---|---|
Product: | [JBoss] JBoss Data Virtualization 6 | Reporter: | Filip Elias <felias> |
Component: | Teiid | Assignee: | David Le Sage <dlesage> |
Status: | CLOSED ERRATA | QA Contact: | Filip Elias <felias> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.2.0 | CC: | atangrin, felias, jolee, vhalbert |
Target Milestone: | CR1 | Keywords: | Documentation |
Target Release: | 6.2.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
When issuing a query to the JDG data source that contains GT or LT criteria, the GT/LT criteria will not be pushed down to the source for execution. The reason the GT/LT criteria is not pushed down is because JDG handles comparing "null" values different than how SQL is expected to compare.
JDG resolves this to TRUE and would include that object in the result set, but SQL would indicate FALSE and excluded the object.
As a consequence, pPerformance maybe be slow. If this is the only criteria specified in the query, then Teiid must read all the objects from the cache in order to perform the GT/LT filtering.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2015-10-30 00:40:08 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Filip Elias
2015-08-12 13:48:04 UTC
Steven Hawkins <shawkins> updated the status of jira TEIID-3625 to Resolved Steven Hawkins <shawkins> updated the status of jira TEIID-3625 to Reopened Steven Hawkins <shawkins> updated the status of jira TEIID-3625 to Resolved I wouldn't consider this a blocker for the release. Van, I consider it as a blocker. It is a great perfomance issue. It takes really long to process the request which contains GT or LT operators. It is a regression. GT and LT operators were pushed down correctly in the previous build. I understand that you would have to backport TEIID-3210, which would probably bring more bugs in the product right now. Is there any other possiblity to fix this issue? No, its too risky at this point in the cycle to backport teiid engine changes. Expecially for only 1 translator. We'll see if we can get JDG team to fix this sooner. We'll need to change the default and provide guidance in the docs on how to enable it and what the risks are. Ok, added the following to the factory: @TranslatorProperty(display="CompareCriteriaOrdered", description="If true, translator can support comparison criteria with the operator '=>' or '<=' ",advanced=true) @Override public boolean supportsCompareCriteriaOrdered() { return supportsCompareCriteriaOrdered; } public boolean setSupportsCompareCriteriaOrdered(boolean supports) { return supportsCompareCriteriaOrdered = supports; } And tested it by adding translator override to see the GE and LE pushed down: <translator name="infinispan-cache-dsl1" type="infinispan-cache-dsl"> <property name="supportsCompareCriteriaOrdered" value="true"/> </translator> See also: https://bugzilla.redhat.com/show_bug.cgi?id=1253660 Van, your fix/workaround is for bug BZ-1253660. It doesn't fix anything for this bug so I set it back to assigned. So your saying, when the override is applied to the translator, you do not see a GE or LE criteria being pushed down? Remember, this is still only going to work properly on returning the correct results when the criteria is used on column(s) where it doesn't contain null's. The override property works as expected, GE and LE operations are pushed down. However this bug is about GT and LT operations which are still not pushed down so I can't verify this bug. As indicated in TEIID-3573, the support for NOT had to be turned off because of how JDG handles null's differently than SQL. So this operation is being handled by Teiid, and unfortunately, the GT and LT do not get pushed down. Could change the translator to add an override for supportsNotCriteria so that the user could enable push down of the operators. That's a good idea because I think it is a significant performance issue. Steven Hawkins <shawkins> updated the status of jira TEIID-3625 to Closed Steven Hawkins <shawkins> updated the status of jira TEIID-3573 to Closed |