-
1. Re: How a query is processed in embedded Teiid
rareddy May 21, 2014 7:13 AM (in response to sarin_ashish)1 of 1 people found this helpfulI guess it is little more complex that that -:)
You need to start at RequestWorkItem and ConnectorWorkItem.
Ramesh..
-
2. Re: How a query is processed in embedded Teiid
shawkins May 21, 2014 10:05 AM (in response to rareddy)1 of 1 people found this helpfulIf you are looking at embedded, then you should skip looking at the socket layer entirely. The main entry point for client/server interaction is DQPCore, and as Ramesh says the main coordinator for query processing is RequestWorkItem. See both and other classes in the process package: teiid/engine/src/main/java/org/teiid/dqp/internal/process at master · teiid/teiid · GitHub
Once we develop a query plan (see the Request class) the RequestWorkItem controls the threading behavior and spawns ConnectorWorkItems to handle the source work - see teiid/engine/src/main/java/org/teiid/dqp/internal/datamgr at master · teiid/teiid · GitHub
-
3. Re: How a query is processed in embedded Teiid
sarin_ashish May 22, 2014 5:01 AM (in response to rareddy)Thanks Ramesh and Steven.
I'm using Teiid 8.7. I've created a sample application that deploys a VDB ZIP file in which a CSV file acts as the data source. I fire a select * from xyz query to get the data from this VDB. The query is successfully processed and I get the data from the VDB. I tried to debug my sample application by putting breakpoints in RequestWorkItem and ConnectorWorkItem classes but Eclipse never goes to these classes. Also, I do see that during debugging SocketServerInstanceImpl's send method is called to write a message to an object output stream. So, it looks like that the socket layer is coming into picture when I'm executing the SQL query.
regards
ashish
-
4. Re: How a query is processed in embedded Teiid
shawkins May 22, 2014 8:25 AM (in response to sarin_ashish)It does not appear that you are using Teiid embedded - unless you specifically configured a socket transport to be used.
Otherwise you likely setup an AS instance to deploy the Teiid server into and are hitting that from your client. Unless you have remote debugging enabled on the AS VM, your debugger will not see what is happening on the server side.
-
5. Re: How a query is processed in embedded Teiid
sarin_ashish May 22, 2014 10:48 AM (in response to shawkins)Thanks Steven. I realized my mistake. The connection string I was using was wrong. It was connecting to the standalone Teiid server.