Correct - the first ROP access causes client to load all the mapping metadata from the server. I guess the sheer # of tables in your schema causes such a delay. To avoid slow bootstrap theoretically it should be possible to persist the mapping on the client with some coding effort, however this ability does not exist in Cayenne as of now.

Another thing is to make sure that the server is "warmed up" when the first client connects, as the server overhead of loading mapping for 121000 entities and then converting them to client counterparts may be noticeable. So maybe call something like this on server startup:

getDomain().getEntityResolver().getClientEntityResolver()

Andrus


On Jun 5, 2009, at 12:35 PM, Zissis Trabaris wrote:

Here is the scenario ... We have a database with over 121,000 tables
mapped in cayenne running under an out of the box ROP client server
model. After the client creates the connection, it authenticates the
user by querying the user table (that table only currently has about 6
rows in it). The initial query always takes about 30 seconds and then
everything is fine on subsequent queries. I am wondering if something is going on with the first ROP client query. Is the client trying to cache
the server's entity resolver data set?? Or is it something else? Is
there any way to speed up the initial client query?



Zissis Trabaris * Chief Technology Officer * INSYSWARE * 3235 West River
Road, Grand Island, New York, 14072, USA
Mobile (716) 930-5654 * Office (518) 636-4118 * Fax (716) 625-1305 *
[email protected] <mailto:%20%[email protected]>  *
www.insysware.com <http://www.insysware.com/>

________________________________

CONFIDENTIALITY: This email (including any attachments) may contain
confidential, proprietary and privileged information, and unauthorized
disclosure or use is prohibited. If you received this email in error,
please notify the sender and delete this email from your system. Thank
you.




Reply via email to