@Mouseclicker and John Patterson: To solve your problem in the meanwhile consider a "meta-model" of a Tenant in the default namespace. Each tenant entity should have a namespace field, plus whatever information you want it to hold about your tenant. You can then enforce NamespaceManager.set(tenantnamespace) is always set to a tenantnamespace you "know" and no data is literally "lost in the cloud".
Hope this helps, Fred On 28 Sep., 07:19, Vikas Hazrati <[email protected]> wrote: > more details about the namespace behavior as we observed here > > http://thoughts.inphina.com/2010/09/16/multi-tenancy-in-google-app-en... > > On Sep 24, 7:57 am, John Patterson <[email protected]> wrote: > > > On 24 Sep 2010, at 02:55, Mouseclicker wrote: > > > > API. The need to set and later reset a global setting is dangerous and > > > error-prone. Probably that's what Guillaume mentions with "The fear I > > > had was when seeing a static methods being used. I'm always afraid > > > when I see 'static' somewhere." Me too! > > > The namespace is not global or static but stored per-thread so it must > > be set for every request e.g. in a servlet Filter. There is no > > problem setting it for a single operation if it is reset in a finally > > block. > > > I personally like the way that the namespace API is completely > > separated from other APIs. In fact, I would prefer it if the memcache > > API namespace did not override the namespace API namespace... that > > caused a subtle bug the other day. > > > It really is very important to be able to see all the stored data in > > the datastore viewer without requiring the user to enter the > > namespace. Especially as the user could be billed for data they > > cannot delete. -- 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.
