[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