Execution hangs when joining WS translator with another special translator
sanjeev.gour May 8, 2014 12:14 PMWe have a special translator that produces a row every 30 seconds, we use it to introduce some delay in the continuous execution. Now, when we are joining it with the WS translator, the data is never returning. We are connecting to a REST service. Running it with the Squirrel client also has the same effect. The same scenario we tried reproducing with a test case using the Embedded Server but that does not reproduce the problem. We are trying to understand what could be the differences between the Embedded Server and the Non Embedded Server. Here is how the query looks like-
SELECT WRAP.* FROM (SELECT * FROM chorus_time.timetable WHERE period = 10000) AS chorus_refresh_expression CROSS JOIN (SELECT CHORUS_B.* FROM (call bdm_rest.invokeHttp(action => 'GET', endpoint => (select RestURL FROM bdm.get_config where TenantId = 1))) AS CHORUS_B) AS WRAP
The model is defined like this-
<view name="get_config" materialized="false">
<columns>
<column name="RestURL" type="varchar" />
<column name="TenantId" type="varchar" />
<column name="Name" type="varchar" />
<column name="Host" type="varchar" />
<column name="Port" type="varchar" />
</columns>
<primary-key column="TenantId" />
<definition>
SELECT 'http://' || Host As RestURL, TenantId, Name, Host, Port
FROM
(call bdm_file.getTextFiles('bdm-rest-config.txt')) AS f,
TEXTTABLE(F.file
COLUMNS
TenantId string,
Name string,
Host string,
Port string
HEADER 1) AS config
</definition>
</view>
Replacing the query for the endpoint with a constant works fine. I have attached the query plans for both embedded and non embedded cases along with a test case, the test does not recreate the problem, however it the idea what we are trying to do.
Thanks for the help in advance.
Sanjeev.
-
Query Plan Under Embedded.txt.zip 618 bytes
-
sandbox.zip 37.9 KB