Re: [google-appengine] Re: Does Google overcharge for backends?
Thanks for highlighting this, it does indeed look like a bug and we'll work on getting it fixed as soon as possible. Greg On Sat, Aug 13, 2011 at 12:26 PM, pdknsk wrote: > It seems like I misunderstood the documentation on the full hour > charge parts, since Google obviously doesn't charge strictly in 0.08$ > steps. It changes 0.56$ to 0.54$ so not much difference. > > Anyway I've probably found the problem, or should I say bug. After the > last request on the backend it waits more or less exactly 5 minutes > until it gets the stop signal. Google includes this into the cost > calculation, and effectively increases penalty to 20 minutes! With > this considered the numbers match. > > 12*2*(2+5+15) = 0.71$ > > IMO this is not acceptable and should be fixed. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to google-appengine@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Sudden 1000 requests
Wow... thank you for the edge caching feature information!! I think this feature is like Amazon CloudFront. (If I can't use GAE for my usage, I plan to use CloudFront instead. It works 1,000-1,400 QPS immediately.) I will try the edge caching feature soon, and write result here. Best regards, kawasaki -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Using MapReduce as a zipimport
Why don't you write a custom 'main' handler for the mapreduce library? There isn't much to it: http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/main.py Robert On Sun, Aug 14, 2011 at 16:00, Iron Mountain Foundry wrote: > Hi all, > > I'm trying out the MapReduce library as a way to handle long- > running tasks. The very first thing in the Getting Started page > ( http://code.google.com/p/appengine-mapreduce/wiki/GettingStartedInPython > ) is to download the library into the application directory. This > adds about 100 files to my application. > > I have read about using zipimport to combine the Django library > into a single zip file, and then adding the file to Python's path. I > tried to do this with MapReduce. > > The first problem is that MapReduce is meant to be called from > app.yaml, not from a Python module, e.g.: > > handlers: > - url: /mapreduce(/.*)? > script: mapreduce/main.py > > There is no way to tell app.yaml to use zipimport, is there? Are > there any plans to make mapreduce into a "native" handler so I don't > need to download the library at all? > > In general, has anyone successfully used zipimport on any library > besides Django? There doesn't seem to be any working examples out > there. > > ~Brent > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to google-appengine@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Using MapReduce as a zipimport
Hi Brent Just create your own mapreduce handler that imports the default one and do the imports there before you import any of your code. This goes for any system supplied handler, such as ereporter, deferred etc... Rgds T -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/6xO5CnPFKREJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] The most efficient way to enumerate variations of properties in a subset
Hey Tom, Yup, the solution I suggested will touch multiple entity groups. That means the best we can do is probably eventual consistency, but it can still be really fast. Check out transactional tasks, if you've got low update rates or you don't expect a great deal of contention, you could simply push an 'update' task to update your indexes. If you expect high write rates, or a lot of contention, you should look into batching the updates. There are many batching techniques, depending on your needs. If you'd like something that will be quite accurate check out 'slagg'. I've included an example that is quite similar to what you're wanting (see examples/basic_group_indexor.py). Sorry for the lack of detailed documentation; I'm working on that, along with some large code improvements, but have been swamped with other projects recently. https://bitbucket.org/thebobert/slagg Also, I agree with you about the indexes. I'd love to be able to only fetch the "index key" rows too. Robert On Sun, Aug 14, 2011 at 03:22, Tom Fishman wrote: > Carter's method is good for slow update and I will definitely use it. > I do need an "interactive solution" in the mean time. Robert, your method > will be touching two entity groups, so there might be inconsistent results > when one of the transactions fails. > I really hope we can query/count the index without touching the entities. > I'm sure it is technically doable. > So, I don't think I have a robust/efficient solution now. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/google-appengine/-/BEjbfHAMI0QJ. > To post to this group, send email to google-appengine@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Using MapReduce as a zipimport
Hi all, I'm trying out the MapReduce library as a way to handle long- running tasks. The very first thing in the Getting Started page ( http://code.google.com/p/appengine-mapreduce/wiki/GettingStartedInPython ) is to download the library into the application directory. This adds about 100 files to my application. I have read about using zipimport to combine the Django library into a single zip file, and then adding the file to Python's path. I tried to do this with MapReduce. The first problem is that MapReduce is meant to be called from app.yaml, not from a Python module, e.g.: handlers: - url: /mapreduce(/.*)? script: mapreduce/main.py There is no way to tell app.yaml to use zipimport, is there? Are there any plans to make mapreduce into a "native" handler so I don't need to download the library at all? In general, has anyone successfully used zipimport on any library besides Django? There doesn't seem to be any working examples out there. ~Brent -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Re: Total Stored Data usage stays after removing all entities
A week has already passed :( -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/Cmxcw3KydvEJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Modelling data in Java for GAE
In NoSQL, you don't have join as you said. In NoSQL, managing data is more direct than RDBMS but when you want to merge data from different tables, you need to do it yourself in your app. In a summary, for relations, you do the job of the DB. So, this might seem a drawback but it's also a big advantage because you control everything. It also allows scalability and distribution! Therefore, you must design your data to allow the kind of request your need in your app. You don't design a perfect normalized model but an efficient one. Generally, this is the kind of job designers have to do with their RDBMS models when they discover their perfect relational normalized models are not very efficient in production. So in NoSQL, you are forced to think like that immediately. I know, it has pros and cons ;) Anyway, in NoSQL, denormalizing is not necessarily bad and redundancy is also advised in lots of cases. Moreover, using a memory cache is a good solution in many cases in which you won't query the datastore but get the data from your cache. Finally, learn the behavior of GAE datastore for indexing/filtering/ordering to build the right model. Sorry if my advises are quite generic :p regards Pascal On Sun, Aug 14, 2011 at 4:28 PM, MK Z wrote: > Thanks for all the replies, > just a quick question. Since BigTable is object database so why bother > having relationship between entities? I know there are advantages to that. > But for small application like school project, I think I dont really need to > have all those relationship annotations in relevant data model. I mean you > can simply "join" the query result from the app context? For example if I > have forum board containing few fields including forum category (e.g > Science, Tech, etc) and forum group (adult/teen/kids). In RDBMS, forum > category id and forum group id will be stored in Forum table as foreign key > which make them related. but for BigTable, the only way to relate them is > using the mappedBy annotation or embedded class(not really a relationship). > > Im thinking not to have the relationship set in the relevant class and > simply tie everything at app level. for example after querying the forum > object, it will list and display all forum topics according to category and > group. Since forumcategoryid and forumgroupid are stored as Long type in > forum object, displaying series of number is meaningless. so basically I can > create a function that will query this id to respective objects and return > the forum category description based on ID supplied. Any advice? > > btw, ive gone through the links u given, but there isnt enough app-like > example on one-to-many relationship (only the simple guestbook example) > > On Tue, Jul 26, 2011 at 8:21 PM, Jose Montes de Oca < > jfmontesde...@google.com> wrote: > >> Hi, >> >> You don't need to worry much on the underlying of the datastore (big >> table) but rather understand how the datastore works as a non relational way >> of persisting data in your application. If you are using Java you have: >> >> - JPO: http://code.google.com/appengine/docs/java/datastore/jdo/ >> - JPA: http://code.google.com/appengine/docs/java/datastore/jpa/ >> >> There are also other frameworks that you can check out: >> - Objectify: http://code.google.com/p/objectify-appengine/ >> - slim3: http://code.google.com/p/slim3/ >> - Twig: http://code.google.com/p/twig-persist/ >> >> I will recommend to start by reading about the Datastore: >> http://code.google.com/appengine/docs/java/datastore/overview.html getting >> familiar with its concept (keys, properties, entities, ancestors ...) >> >> Another good resource of information would be Past Google IO talks: >> - http://www.youtube.com/watch?v=2jW2iSKDipY >> >> For the scenario you picture on your example, you are right you can not do >> join queries. A workaround would be to de-normalize your data model to have >> the department information within the employee entity, so you could make a >> query over the kind employee. >> >> Hope this helps you getting started on Datastore and App engine. If you >> have more questions don't hesitate to ask! >> >> Happy coding! >> >> Best, >> Jose Montes de Oca >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/google-appengine/-/-MPXy0Q40QsJ. >> >> To post to this group, send email to google-appengine@googlegroups.com. >> To unsubscribe from this group, send email to >> google-appengine+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/google-appengine?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to google-appengine@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine+unsubscr...@googlegroups.com. > For mo
[google-appengine] Re: Google plugin in MyEclipse 9 - Unable to sign in
Thank you ... I appreciate your posting. I will do that. I've been muddling by with various snippets here and there, but it's ultimately failing to do what I need, so your suggestion sounds sensible. On Jul 14, 5:18 pm, Roland Schweitzer wrote: > I just ran into this problem myself. > > Here's the uncaught exception that gets thrown when you try to login or > deploy to App Engine: > > !ENTRY org.eclipse.ui 4 0 2011-07-14 10:40:51.555 > !MESSAGE Unhandled event loop exception > !STACK 0 > java.lang.LinkageError: loader constraint violation: when resolving method > "com.google.gdt.eclipse.login.LoginCallbackServer.addServlet(Ljava/lang/Str > ing;Ljavax/servlet/Servlet;)V" > the class loader (instance of > org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current > class, com/google/gdt/eclipse/login/LoginCallbackServer, and the class > loader (instance of > org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for resolved > class, com/google/gdt/eclipse/login/LoginCallbackServer, have different > Class objects for the type javax/servlet/Servlet used in the signature > at > com.google.gdt.eclipse.login.LoginCallbackServer.(LoginCallbackServer > .java:137) > at com.google.gdt.eclipse.login.GoogleLogin.logIn(GoogleLogin.java:403) > at > com.google.appengine.eclipse.core.deploy.ui.DeployProjectHandler.execute(De > ployProjectHandler.java:51) > at > com.google.appengine.eclipse.core.deploy.ui.DeployProjectAction.run(DeployP > rojectAction.java:13) > > I did my best to figure out how to resolve the conflict by loading various > versions of the servlet-api.jar ahead of the version in the App Engine SDK, > but no joy. I don't know who could best resolve this the Genuitec or the > Google plugin team, but I couldn't figure it out in the time I devoted to > it. > > I finally did a fresh install of the basic (not MyEclipse) Eclipse Java > (time to try Indigo anyway) and added the Google plugins and SDKs and > deployed to App Engine from there. I now have an Eclipse with just the > Android plugins, an Eclipse with App Engine and GWT for App Engine projects > and MyEclipse which I use for web projects with GWT (but not deployed on App > Engine). It's a bit of a bother, but my experience is that there are always > conflicts with Eclipse that can be minimized with this sort of segregation. > > Not the answer you were looking for, but it's how I got it working. > > Roland -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] Modelling data in Java for GAE
Thanks for all the replies, just a quick question. Since BigTable is object database so why bother having relationship between entities? I know there are advantages to that. But for small application like school project, I think I dont really need to have all those relationship annotations in relevant data model. I mean you can simply "join" the query result from the app context? For example if I have forum board containing few fields including forum category (e.g Science, Tech, etc) and forum group (adult/teen/kids). In RDBMS, forum category id and forum group id will be stored in Forum table as foreign key which make them related. but for BigTable, the only way to relate them is using the mappedBy annotation or embedded class(not really a relationship). Im thinking not to have the relationship set in the relevant class and simply tie everything at app level. for example after querying the forum object, it will list and display all forum topics according to category and group. Since forumcategoryid and forumgroupid are stored as Long type in forum object, displaying series of number is meaningless. so basically I can create a function that will query this id to respective objects and return the forum category description based on ID supplied. Any advice? btw, ive gone through the links u given, but there isnt enough app-like example on one-to-many relationship (only the simple guestbook example) On Tue, Jul 26, 2011 at 8:21 PM, Jose Montes de Oca < jfmontesde...@google.com> wrote: > Hi, > > You don't need to worry much on the underlying of the datastore (big table) > but rather understand how the datastore works as a non relational way of > persisting data in your application. If you are using Java you have: > > - JPO: http://code.google.com/appengine/docs/java/datastore/jdo/ > - JPA: http://code.google.com/appengine/docs/java/datastore/jpa/ > > There are also other frameworks that you can check out: > - Objectify: http://code.google.com/p/objectify-appengine/ > - slim3: http://code.google.com/p/slim3/ > - Twig: http://code.google.com/p/twig-persist/ > > I will recommend to start by reading about the Datastore: > http://code.google.com/appengine/docs/java/datastore/overview.html getting > familiar with its concept (keys, properties, entities, ancestors ...) > > Another good resource of information would be Past Google IO talks: > - http://www.youtube.com/watch?v=2jW2iSKDipY > > For the scenario you picture on your example, you are right you can not do > join queries. A workaround would be to de-normalize your data model to have > the department information within the employee entity, so you could make a > query over the kind employee. > > Hope this helps you getting started on Datastore and App engine. If you > have more questions don't hesitate to ask! > > Happy coding! > > Best, > Jose Montes de Oca > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/google-appengine/-/-MPXy0Q40QsJ. > > To post to this group, send email to google-appengine@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] GWT 2.4.0/GAE: java.lang.ClassNotFoundException: javax.validation.Path
Since I updated eclipse to 2.4.0 every RPC call from GWT to my local eclipse GAE server throws a strange server exception! Any ideas? Thanks! Here is my .classpath: Here is the full error: [ERROR] javax.servlet.ServletContext log: Exception while dispatching incoming RPC call java.lang.NoClassDefFoundError: javax/validation/Path at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java: 176) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at com.google.gwt.user.server.rpc.SerializationPolicyLoader.loadFromStream(SerializationPolicyLoader.java: 196) at com.google.gwt.user.server.rpc.RemoteServiceServlet.loadSerializationPolicy(RemoteServiceServlet.java: 90) at com.google.gwt.user.server.rpc.RemoteServiceServlet.doGetSerializationPolicy(RemoteServiceServlet.java: 293) at com.google.gwt.user.server.rpc.RemoteServiceServlet.getSerializationPolicy(RemoteServiceServlet.java: 157) at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.prepareToRead(ServerSerializationStreamReader.java: 455) at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:237) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java: 206) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java: 248) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java: 62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 511) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java: 35) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: 58) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: 43) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: 122) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java: 97) at org.mortbay.jetty.servlet.ServletHandler $CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: 70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:351) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 542) at org.mortbay.jetty.HttpConnection $RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
[google-appengine] Re: Java Remote API - getting 302 error
I have the same issue. The Remote API seem does *NOT* work on Federated Login. Any help please? On Jul 16, 5:46 am, Miguel Barrero wrote: > I have the same issue, because error is 302 (http redirection), I > wonder if it's related to authentication? any ideas? > > Miguel > > On 12 jul, 10:59, Muneer Malik wrote:> any clues / > suggestion here ? > > > not sure if my query was successfully posted ! > > > thanks > > > On Monday, July 11, 2011, Muneer Malik wrote: > > > Did anyone try this yet? > > > any ideas here? > > > Thanks > > > > On Mon, Jul 11, 2011 at 10:51 AM, Muneer Malik wrote: > > > Exception in thread "main" java.io.IOException: can't get appId from > > > remote api; status code = 302 > > > at > > > com.google.appengine.tools.remoteapi.RemoteApiInstaller.getAppIdFromServer( > > > RemoteApiInstaller.java:217) > > > at > > > com.google.appengine.tools.remoteapi.RemoteApiInstaller.loginImpl(RemoteApi > > > Installer.java:199) at > > > com.google.appengine.tools.remoteapi.RemoteApiInstaller.login(RemoteApiInst > > > aller.java:165) > > > > at > > > com.google.appengine.tools.remoteapi.RemoteApiInstaller.install(RemoteApiIn > > > staller.java:86) at RemoteExample.main(RemoteExample.java:29) > > > > Any clues? > > > Best,Muneer > > > > -- > > > Confidentiality Notice > > > --- > > > > THIS INFORMATION IS INTENDED ONLY FOR THE USE OF THE ADDRESSEE AND MAY > > > CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM > > > DISCLOSURE UNDER APPLICABLE LAW. IF YOU ARE NOT THE INTENDED RECIPIENT, > > > OR THE EMPLOYEE OR AGENT RESPONSIBLE FOR DELIVERING THIS MESSAGE TO THE > > > INTENDED RECIPIENT, YOU ARE HEREBY NOTIFIED THAT ANY DISSEMINATION, > > > DISTRIBUTION OR COPYING OF THE COMMUNICATION IS STRICTLY PROHIBITED. IF > > > YOU HAVE RECEIVED THIS COMMUNICATION IN ERROR, PLEASE NOTIFY IMMEDIATELY > > > AT tutti...@gmail.com OR BY TELEPHONE AT 817-458-1764. > > > > THANK YOU. > > > > -- > > > Confidentiality Notice > > > --- > > > > THIS INFORMATION IS INTENDED ONLY FOR THE USE OF THE ADDRESSEE AND MAY > > > CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM > > > DISCLOSURE UNDER APPLICABLE LAW. IF YOU ARE NOT THE INTENDED RECIPIENT, > > > OR THE EMPLOYEE OR AGENT RESPONSIBLE FOR DELIVERING THIS MESSAGE TO THE > > > INTENDED RECIPIENT, YOU ARE HEREBY NOTIFIED THAT ANY DISSEMINATION, > > > DISTRIBUTION OR COPYING OF THE COMMUNICATION IS STRICTLY PROHIBITED. IF > > > YOU HAVE RECEIVED THIS COMMUNICATION IN ERROR, PLEASE NOTIFY IMMEDIATELY > > > AT tutti...@gmail.com OR BY TELEPHONE AT 817-458-1764. > > > > THANK YOU. > > > -- > > Confidentiality Notice > > --- > > > THIS INFORMATION IS INTENDED ONLY FOR THE USE OF THE ADDRESSEE AND MAY > > CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM > > DISCLOSURE UNDER APPLICABLE LAW. IF YOU ARE NOT THE INTENDED RECIPIENT, OR > > THE EMPLOYEE OR AGENT RESPONSIBLE FOR DELIVERING THIS MESSAGE TO THE > > INTENDED RECIPIENT, YOU ARE HEREBY NOTIFIED THAT ANY DISSEMINATION, > > DISTRIBUTION OR COPYING OF THE COMMUNICATION IS STRICTLY PROHIBITED. IF YOU > > HAVE RECEIVED THIS COMMUNICATION IN ERROR, PLEASE NOTIFY IMMEDIATELY AT > > tutti...@gmail.com OR BY TELEPHONE AT 817-458-1764. > > > THANK YOU. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
[google-appengine] Serious problem: Rollback of data on HRD
I have recently ran into a problem after migrating to HRD: My application is a social online game which I have recently migrated from M/S to HR Datastore around 3 weeks ago. Since 2 weeks ago I have started receiving reports from players which their game progress are rolled back suddenly while playing, which progress made in the recent few days are missing. I have verified the problem through data on other entities (in different entity group) that the reports are actually legit and at least several days of progress are actually rolled back (with updates to the entities in the last few days are all missing). Player's data in the game are retrieved through id ( Player.get_by_id(player_id) ) and because the gap is so large (days) I believe it is not a problem on my code (nowhere in my code cache player's data). It has never happened before for nearly 1 year so I am guessing if it is related to HRD. I remember there was a thread here before which reported data being rolled back on HRD but I can not find it anymore. As you know with AppEngine datastore's distributed nature, it is so hard to monitor this kind of problem to ensure the problem exist. I would like to ask if anyone has ran into this problem as well or suspect that you have had this problem before with your HRD application? -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/hC-TziRgSkUJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] The most efficient way to enumerate variations of properties in a subset
My understanding on app engine index for our case is that we could build an index as { width (ascend), height(ascend), key } so we can query GQL like : width=5, height>0, width=5, height<15. So all the information we need is ready for us to retrieve efficiently. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/UXHKM8Wh1RkJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Re: [google-appengine] The most efficient way to enumerate variations of properties in a subset
Carter's method is good for slow update and I will definitely use it. I do need an "interactive solution" in the mean time. Robert, your method will be touching two entity groups, so there might be inconsistent results when one of the transactions fails. I really hope we can query/count the index without touching the entities. I'm sure it is technically doable. So, I don't think I have a robust/efficient solution now. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/BEjbfHAMI0QJ. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.