[Developers] sandbox caching old values, slow expiration?

Tim Kientzle tim at metaweb.com
Wed Jan 30 23:49:31 UTC 2008


Depending on your application, there's an even better solution.  We  
actually used this for one of our sample apps and it works very well:   
proxy the cookie.

Whenever you do a mqlwrite, collect the mwLastWriteTime cookie value  
and set a cookie in your response passing the value back to your  
client.  Similarly, use the value from your client request whenever  
making a mqlread call.  That should propagate the weak consistency  
guarantee that we're providing back to your end users.

Cheers,

Tim Kientzle

On Jan 30, 2008, at 3:41 PM, Tim Kientzle wrote:

> If you can, the easiest way to handle this is to use a common cookie
> jar across all requesters, since we use a cookie (specifically, the
> "mwLastWriteTime" cookie) to track the time of your last write.  Re-
> reading the cookie jar from your local disk is certainly faster than
> doing a round-trip to our system.
>
> Otherwise, you'll have to use standard HTTP cache-busting measures,
> which will bypass our caching and make both of us slower.
>
> Tim Kientzle
>
>
> On Jan 30, 2008, at 2:40 PM, Arthur van Hoff wrote:
>
>> I’m running into the caching problem in my python app. Within the
>> same app I do some writes, followed by a read, and I get old data.
>> I’m writing a http server, so it may be due to the multi threaded
>> nature of my application.
>>
>> Can someone remind me how to work around this problem?
>>
>> Somebody suggested doing an empty mqlwrite, but that seems too
>> expensive if I have to do it before every mqlread, just in case the
>> cache is stale.
>>
>> From: developers-bounces at freebase.com [mailto:developers-bounces at freebase.com
>> ] On Behalf Of Coral Link
>> Sent: Saturday, December 29, 2007 5:51 AM
>> To: developers at freebase.com
>> Subject: [Developers] sandbox caching old values, slow expiration?
>>
>> Hi, quite a few times while working on my app I've run into
>> instances when I've made updates/changes to objects in the sandbox
>> BUT when I query the just changed object, I get its old values.  I
>> run my queries in queryeditor, and the values returned are the
>> updated ones. After some magical period, the mqlwrite/mqlread
>> service starts showing the expected values.
>>
>> Is there some sort of caching going on?  What are the timeouts if
>> any, to pull the most current values from the repository?  Is there
>> some sort of tickle mechanism to ask mqlread to pull a fresh copy
>> instead of a cached on?
>>
>> Thank you and kind regards,
>> Indy
>>
>> _______________________________________________
>> Developers mailing list
>> Developers at freebase.com
>> http://lists.freebase.com/mailman/listinfo/developers
>
> _______________________________________________
> Developers mailing list
> Developers at freebase.com
> http://lists.freebase.com/mailman/listinfo/developers



More information about the Developers mailing list