Description
Update the DataMapper/ViewClient so that each View row gets processed and returned to the user so that the client does not have to maintain a large buffer for response etc. The Java 2.0 SDK can be used as an example, although it likely will be a quite different implementation perhaps using IQueryable (deferred execution), TAP and/or TPL data flow.
Currently, the client streams the entire response into a buffer, then de-serializes the entire buffer into a list of objects and then returns that list. While very fast with small response bodies, performance quickly degrades with large response sizes causing latancy, high MEM, and CPU.
Attachments
For Gerrit Dashboard: NCBC-864 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
61405,1 | NCBC-864: Streaming view results [WIP] | master | couchbase-net-client | Status: ABANDONED | 0 | 0 |
71191,12 | NCBC-864: Add JSON streaming ViewClient | master | couchbase-net-client | Status: MERGED | +2 | +1 |