Thanks for the advice, Ikai.

On Nov 9, 7:31 pm, "Ikai Lan (Google)" <[email protected]>
wrote:
> That depends on what you're okay with. The simplest thing would be to show a
> global error page or a message that things aren't working correctly. We
> average less than one maintenance period a month and are working towards no
> downtime error messages, so it might be to your advantage to do the easiest
> thing and not overengineer a workaround. Note that we have another scheduled
> maintenance in December. We haven't planned maintenance beyond that, but my
> expectation they will happen at roughly the same frequently.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blogger:http://googleappengine.blogspot.com
> Reddit:http://www.reddit.com/r/appengine
> Twitter:http://twitter.com/app_engine
>
> On Tue, Nov 9, 2010 at 11:23 AM, Ian Marshall <[email protected]>wrote:
>
> > Hi Ikai,
>
> > Thanks for replying with the info about mem cache staying up and a
> > good way for me to detect the datastore's status. I'll change my
> > datastore down-time detection method using this.
>
> > Since I use sessions extensively and unavoidably in my application (a
> > big hello to Apache Wicket), do you have any general tips about how I
> > should react to session disablement? Is a general worst case to
> > present a page with a service disabled message during down-times? (I
> > already display a functionality degredation message during mem cache (!
> > = datastore!) down-times or my own pre-declared down-time date-time
> > slots, but I still rely on sessions to do this).
>
> > Cheers,
>
> > Ian
>
> > On Nov 9, 6:15 pm, "Ikai Lan (Google)" 
> > <[email protected]<ikai.l%[email protected]>
>
> > wrote:
> > > Hey Ian,
>
> > > During our maintenance periods, Memcache no longer goes down - we just
> > flush
> > > it.
>
> > > Our docs on handing maintenance periods is unfortunately out of date.
> > Thanks
> > > for bringing this to my attention. I'll put this on my plate to document
> > it.
> > > In the meantime, here is some sample code. You can use your IDE's
> > > autocomplete to explore this API:
>
> > >http://pastie.org/1284924
>
> > > import com.google.appengine.api.capabilities.CapabilitiesService;
> > > import com.google.appengine.api.capabilities.CapabilitiesServiceFactory;
> > > import com.google.appengine.api.capabilities.Capability;
> > > import com.google.appengine.api.capabilities.CapabilityState;
>
> > > CapabilitiesService cs =
> > > CapabilitiesServiceFactory.getCapabilitiesService();
> > >  CapabilityState state = cs.getStatus(Capability.DATASTORE);
> > > Capability capability = state.getCapability();
>
> > > --
> > > Ikai Lan
> > > Developer Programs Engineer, Google App Engine
> > > Blogger:http://googleappengine.blogspot.com
> > > Reddit:http://www.reddit.com/r/appengine
> > > Twitter:http://twitter.com/app_engine
>
> > > On Tue, Nov 9, 2010 at 3:42 AM, Ian Marshall <[email protected]
> > >wrote:
>
> > > > In the GAE/J documentation for "Gracefully Degrading During Scheduled
> > > > Maintenance" it states
>
> > > > "Note: Because App Engine for Java sessions are backed by memcache and
> > > > the datastore, sessions are effectively disabled during read-only
> > > > periods. You must take this into account when designing your
> > > > application."
>
> > > > My code for detecting datastore down-times failed during last
> > > > Saturday's scheduled down-time. It attempts to detect a down-time by
> > > > writing to the mem cache using a StrictErrorHandler, and responding to
> > > > any MemcacheServiceException raised to disable parts of my web site
> > > > which write to the datastore, but I got severe errors before this got
> > > > detected:
>
> > > >  com.google.apphosting.api.ApiProxy$CapabilityDisabledException:
> > > >   The API call datastore_v3.Put() is temporarily unavailable.
>
> > > > This could be my fault in many ways (perhaps the mem cache stayed up).
> > > > In particular, I suspect that my app's use of sessions is at fault.
> > > > The relevant fragment of my "appengine-web.xml" config is:
>
> > > >  <appengine-web-app xmlns="http://appengine.google.com/ns/1.0";>
> > > >    ...
> > > >    <sessions-enabled>true</sessions-enabled>
> > > >    ...
> > > >  </appengine-web-app>
>
> > > > This may be a silly question, but in what ways can one anticipate,
> > > > detect and handle the disabling of sessions during a datastore down-
> > > > time period?
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Google App Engine for Java" group.
> > > > To post to this group, send email to
> > > > [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected]<google-appengine-java%[email protected]>
> > <google-appengine-java%[email protected]<google-appengine-java%[email protected]>
>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to