-
1. Re: Buffer Service and jdbc driver fetch size settings
shawkins Jul 13, 2017 8:56 AM (in response to don.krapohl)> I see the processor batch size property in the buffer service. We use 1024 on a jvm with 12gb allocated to Teiid. My question is if such a big disparity between the jdbc fetch size ability and the Teiid setting means there is greater opportunity to increase processor batch size for Impala. With 12gb allocated and 25 active plans should Teiid be able to do 4096 more quickly for example?
The Teiid processor batch size assumes a nominal target of approximately 2kb of heap per row. The working batch size can be larger or smaller depending on the data width of the rows. At the JDBC source level we do set fetchSize property to 2x the working batch size. I'm not sure about the relationship between the Statement.fetchSize and this Impala property.
The decision about how large to make the processor batch size would be influenced by a couple factors - the larger it is the more latency you can introduce, and number of pages/batches you expect to hold in memory. At 4096 rows each batch/page could be taking approximate 8mb of heap which is a large size if you have a lot of temporary tables, internal materializations, etc. with indexes or otherwise set to prefer memory. But if your workload is mostly streaming and you have expensive network hops, then yes a larger batch size would be fine.
-
2. Re: Buffer Service and jdbc driver fetch size settings
don.krapohl Jul 13, 2017 10:32 AM (in response to shawkins)Perfect. Thanks!