[ 
https://issues.apache.org/cayenne/browse/CAY-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12769#action_12769
 ] 

Andrus Adamchik commented on CAY-1003:
--------------------------------------

Marcin, from looking at the code, both cache keys are generated on the client 
and passed around as Strings, so I don't think this is the case... I guess I 
can stage  such test by resetting time zone on a LAN server, but so far I don't 
see why such a  problem would occur.

> the paged queries in ROP can fail to fetch the subsequent pages if the client 
> and server are in different timezones
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAY-1003
>                 URL: https://issues.apache.org/cayenne/browse/CAY-1003
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Cayenne Core Library
>    Affects Versions: 3.0
>         Environment: ROP, paging, LOCAL_CACHE with no setCacheGroups 
> specified , cayenne v.3.0-SNAPSHOT Mar 05 2008 22:29:23, multiple timezones
>            Reporter: Marcin Skladaniec
>            Assignee: Andrus Adamchik
>
> if the client and server are in different timezone and the executed query has 
> an qualifier like this:
> ExpressionFactory.greaterOrEqualExp(CourseClass.ENDDATETIME_PROPERTY, new 
> Date())
> there is a possibility of a mismatch between the keys identifying the cache. 
> What happens I believe is that the initial SelectQuery creates the key on 
> server, using the server timezone, while the query which faults the following 
> page of data creates the key on client. My assumptions are based on the 
> exception we see when we are trying to connect across timezones (we are in 
> EST, server is in WST):
> org.apache.cayenne.CayenneRuntimeException: [v.3.0-SNAPSHOT Mar 05 2008 
> 22:29:23] Remote error. URL - http://ahost:8181/angel-server-cayenne; CAUSE - 
> [v.3.0-SNAPSHOT Mar 05 2008 22:29:23] No cached list for 
> CourseClass/((endDateTime >= Fri Mar 07 12:45:17 EST 2008) or (endDateTime = 
> null)) and (isCancelled != true)/course.name
>    at 
> org.apache.cayenne.access.ClientServerChannelQueryAction.interceptSinglePageQuery(ClientServerChannelQueryAction.java:99)
>         at 
> org.apache.cayenne.access.ClientServerChannelQueryAction.execute(ClientServerChannelQueryAction.java:65)
>         at 
> org.apache.cayenne.access.ClientServerChannel.onQuery(ClientServerChannel.java:82)
>         at 
> org.apache.cayenne.remote.service.DispatchHelper.dispatch(DispatchHelper.java:40)
>         at 
> org.apache.cayenne.remote.service.BaseRemoteService.processMessage(BaseRemoteService.java:153)
>         at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to