Re: [appengine-java] Re: periodic downtimes

2011-02-14 Thread bryce cottam
Well, I've submitted 2 or 3 tickets to their support team last week
and haven't heard back yet.  Perhaps I'm doing something wrong.

As far as how our app did on the app-engine: it was pretty smooth.  I
think the main issue we ran into was the 10 writes per entity group
per second.  I think that restriction may force us onto a different
platform.  I think we could have worked around that restriction by
employing more clever memcache usage, especially now that there is CAS
enabled on the memcache, but I'd be slightly nervous about updates
living in memcache and getting dropped before we wrote them to the
datastore.  My clients pretty much decided they want to try another
hosting solution, so I guess that's my only option  lol.

Thanks for the reply!



On Sat, Feb 12, 2011 at 5:34 AM, systemsplanet m...@systemsplanet.com wrote:
 the app engine team recently fixed a problem
 I was having in about 12 hrs. I couldn't add
 a new application, GAE forgot I had already
 authenticated my mobile phone number.

 as for your ap, I'll be interested to see
 if an ap with expected high contention
 will work well on gae. seems like gea is
 optimized for high-reads and few
 non-contending writes (like a blog).

 .

 On Feb 11, 1:37 am, bcottam bcot...@gmail.com wrote:
 Good point Robert,  I'm not sure if it's just the datastore.  My users wind
 up getting a 500 error on requests that just read data, usually even if the
 datastore has issues, you can still read from it.

 I'd be comfortable using memcache, but I'd want to ensure it had the same
 data integrity as the datastore (or something close anyhow).  The nice thing
 about the datastore is that there is optimistic locking, so I know when
 there's contention.  Currently, our users collectively modify data at about
 the same time (like 7-12 updates in a single second from several users),
 it's pretty important that I keep them in order, so I currently have my
 writes wrapped in a datastore transaction with a loop that runs about 5
 times or until the transaction succeeds.  Has anyone managed that type of
 contention in the memcache?  If so, I'd love to hear some techniques that
 can ensure no update tramples a previous concurrent update.

 I've submitted inquiries to the billing and CPU request form, but haven't
 heard back.  Does it usually take longer than 24 hours to hear back from the
 app-engine support team?

 Thanks

 --
 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 google-appengine-java@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine-java+unsubscr...@googlegroups.com.
 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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Website/link down second time in this month without any notification or maintenance.

2011-02-14 Thread sagar misal
Hello everyone,
  This is second time in this month that our link/website is down
without any notification or maintenance, last when asked about this
reply was ' it is not their(google server)side issue '.
We have registered our domain name from Google apps itself and still
google has no answer for what's happening.
Can somebody tell us how to solve this issue or any suggestion?
Thanks and regards
 Sagar Misal.

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: How to completely erase the datastore of an app

2011-02-14 Thread cghersi
Hi meyertee,

It says exactly what you have written.
But nevertheless I'm not able to manage this issue!!

I'm very puzzled...

Any other hint?

Thank you very much
Best
CRI

On 13 Feb, 16:22, meyertee meyer...@gmail.com wrote:
 What does it say when you go from your dashboard to Administration -
 Application Settings - in the top right corner under Authentication
 Options?

 For me it says: Google Apps. Users with a valid account in the
 my-domain.com Google Apps domain can sign in if the Google Accounts API is
 used for authentication.

 I don't think you can change this option after creating the app. If it says
 Google Accounts API for you, you should be able to see the datastore admin
 with your normal account if it's a gmail account...

 Best, meyertee

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: How to completely erase the datastore of an app

2011-02-14 Thread meyertee
I'm afraid I'm running out of theories.. Funnily enough, my Datastore Admin 
just stopped working too - it's showing me the error page. It was still 
working until a couple of days ago. Oh well...
Best, meyertee.

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] can i use css in my app ?

2011-02-14 Thread Vishnupradeep
Thanks for your replies.

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] IllegalStateException: Must be called from a blob upload callback request

2011-02-14 Thread Andrei
Has anybody had and resolved this error?
Thanks

Uncaught exception from servlet
java.lang.IllegalStateException: Must be called from a blob upload
callback request.
at
com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs(Bl
obstoreServiceImpl.java:
128)

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Lexicographic order of keys

2011-02-14 Thread Cyrille Vincey
Say you manage an entity kind with a com.google.appengine.api.datastore.Key
key, 
and you manage those keys with explicit values like key =
KeyFactory.createKey(MyClass.class.getSimpleName(), AAA).
Then, does the string-encoded form of the key have the same lexicographic
order than the explicit key name ?

In other words: if I want to perform a range query based on the explicit
name (i.e. get all entities with key name from AAA to ZZZ), can I use an
double inequality filter on the entity keys?


-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Guice Errors while trying to integrate the sample google app marketplace

2011-02-14 Thread Jaspal Sawhney
I'm trying to run the sample google marketplace app and my application is 
throwing guice errors in the logs.
*
*
*Setup:* 
1. Java Application deployed Google App Engine
2. Google Marketplace listing pointing to the app.

*Issue*
1. Accessing the application from both directly the appspot.com as well as 
from the universal navigation from within google app results in the 
following error

*Uncaught exception from servlet
com.google.inject.internal.ComputationException: java.lang.SecurityException: 
Unable to get members for class 
com.google.step2.discovery.DefaultHostMetaFetcher*
at 
com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:553)
at 
com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at 
com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at 
com.google.inject.ConstructorInjectorStore.get(ConstructorInjectorStore.java:52)
at 
com.google.inject.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:57)
at 
com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java:377)
at 
com.google.inject.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:645)
at 
com.google.inject.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:581)
at 
com.google.inject.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:172)
at 
com.google.inject.InjectorImpl.getBindingOrThrow(InjectorImpl.java:132)
at 
com.google.inject.InjectorImpl.getInternalFactory(InjectorImpl.java:651)
at 
com.google.inject.InjectorImpl.getProviderOrThrow(InjectorImpl.java:747)
at com.google.inject.LookupProcessor.visit(LookupProcessor.java:51)
at com.google.inject.LookupProcessor.visit(LookupProcessor.java:30)
at 
com.google.inject.spi.ProviderLookup.acceptVisitor(ProviderLookup.java:54)
at 
com.google.inject.AbstractProcessor.process(AbstractProcessor.java:65)
at 
com.google.inject.AbstractProcessor.process(AbstractProcessor.java:54)
at 
com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:140)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105)
at com.google.inject.Guice.createInjector(Guice.java:92)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at com.jbb.gamproject.ConsumerFactory.init(ConsumerFactory.java:39)
at com.jbb.gamproject.OpenIdServlet.init(OpenIdServlet.java:71)
at 
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
at 
org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339)
at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at 
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at 
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
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 
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.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
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.headerComplete(HttpConnection.java:923)
at 
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at 
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
at 
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
at 

[appengine-java] Using Jing for XML Document Schema. Works on local, errors when deployed.

2011-02-14 Thread Austin Dworaczyk Wiltshire
Hello all!

I originally posted this in the main App Engine group, but was told to
try my luck here.

I'm developing an application for App Engine that will take a Relax NG
schema and build a Document object against it from nodes that I
append.

My implementation works on my local machine (Mac OS X Snow Leopard,
Eclipse Helios Java EE edition, GWT 2.2.0, App Engine 1.4.2), but when
I deploy it I get the following error:

java.lang.IllegalArgumentException: No SchemaFactory that implements
the schema language specified by: http://relaxng.org/ns/structure/1.0
could be loaded

It is complaining about the following lines of code:

System.setProperty(SchemaFactory.class.getName() + : +
XMLConstants.RELAXNG_NS_URI,
com.thaiopensource.relaxng.jaxp.CompactSyntaxSchemaFactory);
SchemaFactory schemaFac =
SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);  -- The
exception occurs on this line.

Does anyone have any ideas as to how I can fix this? Like I said, it
works on my local machine.

Essentially what I would like to do is create a Schema from a Relax NG
file that is then passed to a DocumentBuilderFactory via the
setSchema() method.

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: 1.4.2: Can't make https call from dev server

2011-02-14 Thread harri mauria
I am having similar problems with the recently released version
com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811
Problems happen with the development server, not in production. I am
performing Facebook login credentials authentication in the callback
url. Interrupt stack is below:

HTTP ERROR 500
Problem accessing /loginfacebookcallback. Reason:

Could not verify SSL certificate for: 
https://graph.facebook.com/oauth/access_token?omitted

Caused by:
javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
for: https://graph.facebook.com/oauth/access_token?omitted
at
com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:
114)
at
com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:
41)
at
com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
$Connection.fetchResponse(URLFetchServiceStreamHandler.java:418)
at
com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
$Connection.getInputStream(URLFetchServiceStreamHandler.java:297)
at www.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60)

Following message is printed to the console:
I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when
processing request: HTTPS hostname invalid: expected
'graph.facebook.com', received '*.facebook.com'
Retrying request

Regards, Harri







On Feb 13, 11:27 am, Lior Harsat lior.har...@gmail.com wrote:
 I am having a similar problem with https:

 I have been testing the SDK and I found one bug which seems critical.
 When I call the URLFetchService.fetch API  with a https URL I get a
 javax.net.ssl.SSLHandshakeException.
 for example when I fetch https://spreadsheets.google.com/feeds/
 list/ I get
 javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
 for:https://spreadsheets.google.com/feeds/list/...
 When I switch back to an older SDK this doesn't happen.
 Is there a Help us test Prerelease SDK 1.4.2 thread I can post this
 to?
 Can anyone confirm this bug reproduces?
 Thanx, Lior

 On Feb 12, 11:57 am, Peter Liu tinyee...@gmail.com wrote:







  We are using a custom remote delegate to route datastore rpc call to
  live production test site on appspot. We did this because sometimes we
  want to develop with live data.

  However after upgrading to 1.4.2, https outbound call starts failing
  (see below). If we change to http, then it works again.

  It seems like some class is marked as restricted in this release. Is
  it intentional? What's the reason behind not allowing outbound https
  call?

  Thanks.

  java.lang.NoClassDefFoundError: javax.net.ssl.SSLHandshakeException is
  a restricted class. Please see the Google  App Engine developer's
  guide for more details.
          at
  com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime 
  .java:
  51)
          at
  com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc 
  eption(URLFetchServiceImpl.java:
  114)
          at com.google.appengine.api.urlfetch.URLFetchServiceImpl.access
  $100(URLFetchServiceImpl.java:22)
          at com.google.appengine.api.urlfetch.URLFetchServiceImpl
  $1.convertException(URLFetchServiceImpl.java:86)
          at
  com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:
  69)
          at com.pekca.main.delegate.RemoteDelegate$1.get(RemoteDelegate.java:
  163)

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] appengine-web.xml required when using app.yaml?

2011-02-14 Thread BoulderGae
Why is GPE requiring that I keep appengine-web.xml around so it can
store the appid and version when that info is already stored in my
app.yaml?  I drank the koolaid and use .yaml files wherever I can.
Please change GPE to store/read the app meta-data from appengine-
web.xml or app.yaml - whichever is present.  Keeping both in sync is a
pain and introduces risk.

scott

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: GAEJ app on a local GWT -noserver equivalent setup?

2011-02-14 Thread b4l4nc3r
BTW, the MaintainJ webapp doesn't write anything on the server-side,
so I doubt it will have trouble running on the GAEJ-configured
Embedded Jetty server. Plus locally it runs on the NORMAL default SUN-
ORacle JRE, and thus not on the specific/limited environment available
in the GAEJ clouds! Could someone at least point out what the path of
the GAEJ local Embedded Jetty server is? I want to try to deploy a
second War in to be loaded for each server-instance.

On Feb 14, 3:19 am, b4l4nc3r b4l4n...@gmx.com wrote:
 Yeah, I see, and agree with your point. And I did  try it myself,
 although I mentioned it cryptically with Googled  tested. And from
 the feedback from your perception, I mis-communicated it, because I
 didn't intend to take the indicated complex approach.

 Btw, MaintainJ is a tracing tool, to trace Java call-flows for a
 specific use-case, like logging-in/authentication for instance, to
 generate automated Sequence Diagrams, which then are easily usable in
 Eclipse to navigate to linked source-code and have instant flow-
 insight on a case-to-case basis. It also shows which Strings are being
 communicated during the call, and recently one can even see the
 complete SQL prepared statement generated by any persistence layer,
 like JPA implementations, etc..

 To use the tool, however, one has to set it up on the same server
 (servlet container) on which the webapp --targeted to trace its Java
 calls-- will run/debug from. GAEJ comes with its own embedded Jetty
 one, of which I couldn't find the location to pull-off the setup. I
 need to deploy a second war file containing the MaintainJ tracing
 webapp, to run it on the same server-instance as the GAEJ app I'm
 building/debugging locally. The Eclipse GAEJ launch configuration tab
 doesn't offer any relevant options, nor could I find an argument
 switch. So I thought to use a fresh one I could setup myself. GWT
 offers the -noserver switch so that one could use another (non-
 embedded) server. I couldn't find the same option for GAEJ. I
 mentioned MaintainJ to point out my use-case for what I'm asking.

 My concrete questions are:

 1. Is it possible to test/debug/run a GAEJ app locally on a different
 server than the embedded Jetty one? It can even be another Jetty
 configuration, but it has to be an external one rather then the
 embedded one. So that I deploy another webapp to be loaded in the same
 server-instance, and add specific libraries to the server lib dir/
 path.
 2. Otherwise can one do the same on the default GAEJ local embedded
 Jetty server?

 In both cases, if yes, how can one do that exactly? Or where should I
 look for more relevant information?

 Thanks so far. I could still use another good feedback/nudge (from
 someone?).

 On Feb 12, 6:41 am, Didier Durand durand.did...@gmail.com wrote:

  Hi,

  And why don't you just try by yourself ?

  What you're asking for is so specific so probably nobody has exactly
  tried what you're asking for. So, people are careful: if they don't
  know, they will not answer.

  1 main point for that: gae made quite a few changes of the jre (See
  the while list of emulated classes) and added very specific stuff to
  its dev env (datastore, tasks, namespace, etc.). SO, it's hard to tell
  if it works elsewhere or not unless you try it.

  Something I can propose though: why don't you work the other round:
  you respect servlet api + you have DAOs (matching your databases9 for
  you data access. Then, you can do what you want with maintainj and
  then moving the app to gae should be pretty staightforward (you
  replace your DAOs with their gae datastore version).

  gae brings its own philosophy: most developers respect it (i.e develop
  with the sdk and local server) to then leverage the real live
  environment as soon as possible. I guess that you need to bear the
  costs by yourself if you want to go on more complex roads.

  regards

  didier

  On Feb 12, 6:18 am, b4l4nc3r b4l4n...@gmx.com wrote:

   Either I've landed on a deserted island  I'm left in the mercy of a
   huge amount of luck. OR I'm pushing on the wrong buttons hmmm.

   On Feb 11, 10:29 pm, b4l4nc3r b4l4n...@gmx.com wrote:

Am I missing something? An obvious documentation I should have read
that would indicate at some point Yes or No? Or am I asking a
ridicules question here? Someone with enough know-how should be able
point at some direction with the minimum use of her/his time, right?
Forget about MaintainJ, just the notion of an GAEJ app locally on a
non-embedded Jetty server, possible? Someone succeeded?

On Feb 11, 6:06 am, b4l4nc3r b4l4n...@gmx.com wrote:

 Lets try it completely:http://www.maintainj.com/

 On Feb 11, 5:40 am, b4l4nc3r b4l4n...@gmx.com wrote:

  Btw, I just found out that for some reason the URL I've used 
  starting
  this discussion/thread is pointing 
  tohttp://www.google.com/www.maintainj.com
  instead ofwww.maintainj.com. Please know 

[appengine-java] Re: 1.4.2: Can't make https call from dev server

2011-02-14 Thread frew
Hey everybody,

In order to help me diagnose the problems, could you respond with what
JDK (Platform, JDK manufacturer (e.g. Sun, OpenJDK), and version)
you're running? As a temporary stopgap, if you're using URLFetch
service, you can use the doNotValidateCertificate() method in
FetchOptions (http://code.google.com/appengine/docs/java/javadoc/com/
google/appengine/api/urlfetch/FetchOptions.html) to disable
validation.

-Fred

On Feb 13, 5:02 am, harri mauria hmau...@googlemail.com wrote:
 I am having similar problems with the recently released version
 com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811
 Problems happen with the development server, not in production. I am
 performing Facebook login credentials authentication in the callback
 url. Interrupt stack is below:

 HTTP ERROR 500
 Problem accessing /loginfacebookcallback. Reason:

     Could not verify SSL certificate 
 for:https://graph.facebook.com/oauth/access_token?omitted

 Caused by:
 javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
 for:https://graph.facebook.com/oauth/access_token?omitted
         at
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc 
 eption(URLFetchServiceImpl.java:
 114)
         at
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchService 
 Impl.java:
 41)
         at
 com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
 $Connection.fetchResponse(URLFetchServiceStreamHandler.java:418)
         at
 com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
 $Connection.getInputStream(URLFetchServiceStreamHandler.java:297)
         atwww.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60)

 Following message is printed to the console:
 I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when
 processing request: HTTPS hostname invalid: expected
 'graph.facebook.com', received '*.facebook.com'
 Retrying request

 Regards, Harri

 On Feb 13, 11:27 am, Lior Harsat lior.har...@gmail.com wrote:







  I am having a similar problem with https:

  I have been testing the SDK and I found one bug which seems critical.
  When I call the URLFetchService.fetch API  with a https URL I get a
  javax.net.ssl.SSLHandshakeException.
  for example when I fetch https://spreadsheets.google.com/feeds/
  list/ I get
  javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
  for:https://spreadsheets.google.com/feeds/list/...
  When I switch back to an older SDK this doesn't happen.
  Is there a Help us test Prerelease SDK 1.4.2 thread I can post this
  to?
  Can anyone confirm this bug reproduces?
  Thanx, Lior

  On Feb 12, 11:57 am, Peter Liu tinyee...@gmail.com wrote:

   We are using a custom remote delegate to route datastore rpc call to
   live production test site on appspot. We did this because sometimes we
   want to develop with live data.

   However after upgrading to 1.4.2, https outbound call starts failing
   (see below). If we change to http, then it works again.

   It seems like some class is marked as restricted in this release. Is
   it intentional? What's the reason behind not allowing outbound https
   call?

   Thanks.

   java.lang.NoClassDefFoundError: javax.net.ssl.SSLHandshakeException is
   a restricted class. Please see the Google  App Engine developer's
   guide for more details.
           at
   com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime
.java:
   51)
           at
   com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc
eption(URLFetchServiceImpl.java:
   114)
           at com.google.appengine.api.urlfetch.URLFetchServiceImpl.access
   $100(URLFetchServiceImpl.java:22)
           at com.google.appengine.api.urlfetch.URLFetchServiceImpl
   $1.convertException(URLFetchServiceImpl.java:86)
           at
   com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:
   69)
           at 
   com.pekca.main.delegate.RemoteDelegate$1.get(RemoteDelegate.java:
   163)

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: FTP Alternatives

2011-02-14 Thread praseed

Hi,

 Oh yeah, I understand that blobstore is the way to go for storage aspects. 
No issue there.

However, our customers have automated ftp scripts which posts these files 
out to ftp servers. It would have been helpful to atleast fetch files from 
ftp servers from within GAE, if not post to it. (although technically they 
are akin)

Now, I will need to host another application outside GAE to do the dirty 
work and feed it to GAE using http. Architecturally, introduces more pieces 
and risk..

Cheers
Praseed

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Re: 1.4.2: Can't make https call from dev server

2011-02-14 Thread Jeff Schnitzer
I experience this problem.  I'm also using a library that makes the
actual call, so I can't use the URLFetch service method.  I will have
to revert to GAE SDK 1.4.0.

Mac OSX 10.6, default JVM, Eclipse Helios:
java version 1.6.0_22
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)

My stacktrace:

Caused by: javax.net.ssl.SSLHandshakeException: Could not verify SSL
certificate for: https://URLREDACTED
at 
com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:114)
at 
com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:41)
at 
com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.fetchResponse(URLFetchServiceStreamHandler.java:418)
at 
com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getInputStream(URLFetchServiceStreamHandler.java:297)
at 
com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getResponseCode(URLFetchServiceStreamHandler.java:150)


On Mon, Feb 14, 2011 at 1:22 PM, frew f...@google.com wrote:
 Hey everybody,

 In order to help me diagnose the problems, could you respond with what
 JDK (Platform, JDK manufacturer (e.g. Sun, OpenJDK), and version)
 you're running? As a temporary stopgap, if you're using URLFetch
 service, you can use the doNotValidateCertificate() method in
 FetchOptions (http://code.google.com/appengine/docs/java/javadoc/com/
 google/appengine/api/urlfetch/FetchOptions.html) to disable
 validation.

 -Fred

 On Feb 13, 5:02 am, harri mauria hmau...@googlemail.com wrote:
 I am having similar problems with the recently released version
 com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811
 Problems happen with the development server, not in production. I am
 performing Facebook login credentials authentication in the callback
 url. Interrupt stack is below:

 HTTP ERROR 500
 Problem accessing /loginfacebookcallback. Reason:

     Could not verify SSL certificate 
 for:https://graph.facebook.com/oauth/access_token?omitted

 Caused by:
 javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
 for:https://graph.facebook.com/oauth/access_token?omitted
         at
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc 
 eption(URLFetchServiceImpl.java:
 114)
         at
 com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchService 
 Impl.java:
 41)
         at
 com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
 $Connection.fetchResponse(URLFetchServiceStreamHandler.java:418)
         at
 com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler
 $Connection.getInputStream(URLFetchServiceStreamHandler.java:297)
         atwww.superpass.de.server.UrlFetcher.get(UrlFetcher.java:60)

 Following message is printed to the console:
 I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when
 processing request: HTTPS hostname invalid: expected
 'graph.facebook.com', received '*.facebook.com'
 Retrying request

 Regards, Harri

 On Feb 13, 11:27 am, Lior Harsat lior.har...@gmail.com wrote:







  I am having a similar problem with https:

  I have been testing the SDK and I found one bug which seems critical.
  When I call the URLFetchService.fetch API  with a https URL I get a
  javax.net.ssl.SSLHandshakeException.
  for example when I fetch https://spreadsheets.google.com/feeds/
  list/ I get
  javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
  for:https://spreadsheets.google.com/feeds/list/...
  When I switch back to an older SDK this doesn't happen.
  Is there a Help us test Prerelease SDK 1.4.2 thread I can post this
  to?
  Can anyone confirm this bug reproduces?
  Thanx, Lior

  On Feb 12, 11:57 am, Peter Liu tinyee...@gmail.com wrote:

   We are using a custom remote delegate to route datastore rpc call to
   live production test site on appspot. We did this because sometimes we
   want to develop with live data.

   However after upgrading to 1.4.2, https outbound call starts failing
   (see below). If we change to http, then it works again.

   It seems like some class is marked as restricted in this release. Is
   it intentional? What's the reason behind not allowing outbound https
   call?

   Thanks.

   java.lang.NoClassDefFoundError: javax.net.ssl.SSLHandshakeException is
   a restricted class. Please see the Google  App Engine developer's
   guide for more details.
           at
   com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime
.java:
   51)
           at
   com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationExc
eption(URLFetchServiceImpl.java:
   114)
           at com.google.appengine.api.urlfetch.URLFetchServiceImpl.access
   $100(URLFetchServiceImpl.java:22)
           

[appengine-java] possible bug with Blob service

2011-02-14 Thread Andrei
There is example for using Blob service
appengine-java-sdk/demos/mediastore
There is jsp file upload.jsp

If you replace

input type=submit name=submit value=Submit
with
input type=submit name=Add Image value=Add Image

you get this exception

Uncaught exception from servlet
java.lang.IllegalStateException: Must be called from a blob upload
callback request.
at
com.google.appengine.api.blobstore.BlobstoreServiceImpl.getUploadedBlobs(BlobstoreServiceImpl.java:
128)
at
com.google.appengine.demos.mediastore.UploadPost.doPost(UploadPost.java:
48)
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.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
95)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
35)
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
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.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
238)
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.headerComplete(HttpConnection.java:923)
at
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
135)
at
com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
261)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$2.handleRequest(RuntimePb.java:8440)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
454)
at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:
572)
at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:448)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:
688)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
326)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
318)
at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:446)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
1110)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)

Unexpected exception from servlet: java.lang.IllegalStateException:
Must be called from a blob upload callback request

-- 
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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[google-appengine] Re: everything is down

2011-02-14 Thread David
Am I the only one that can't seem to go an entire day anymore without
getting a ton of errors for a certain time period?  What is going on
with appengine that it is so unreliable at times?  I'm starting to
rethink my decision to go with AppEngine. It's great 90% of the time
when it's working, but that 10% of the time is what gives my app a bad
reputation to customers and gives them an excuse to bash my app for
getting server errors.

David

-- 
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: everything is down

2011-02-14 Thread Dmitry
yep... constantly datastore timeouts and task errors

-- 
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] Re: everything is down

2011-02-14 Thread Nickolas Daskalou
Are you guys on the standard Master/Slave datastore, or the new High
Replication datastore?

Nick


On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote:

 yep... constantly datastore timeouts and task errors

  --
 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.



RE: [google-appengine] Re: everything is down

2011-02-14 Thread Brandon Wirtz
Master Slave? Or High Rep?   just wondering if it matters.

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Dmitry
Sent: Monday, February 14, 2011 12:55 AM
To: google-appengine@googlegroups.com
Subject: [google-appengine] Re: everything is down

 

yep... constantly datastore timeouts and task errors

-- 
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.



Re: [google-appengine] Re: everything is down

2011-02-14 Thread Girish
I am on a Standard Master/Slave

Girish

On Mon, Feb 14, 2011 at 2:36 PM, Nickolas Daskalou n...@daskalou.comwrote:

 Are you guys on the standard Master/Slave datastore, or the new High
 Replication datastore?

 Nick


 On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote:

 yep... constantly datastore timeouts and task errors

  --
 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.




-- 
Regards

Girish Lakshminarayana
Technology Consultant  Director, Klea Global (http://www.kleaglobal.com/)
Mobile. +919871030744
Skype: anticlickwise
Twitter: http://www.twitter.com/anticlickwise
Blog: http://www.aboxtothinkoutof.com
*
*
*My Websites
*
http://www.trackthisnow.com
http://www.webtoim.com/site
http://www.dealzfull.com

-- 
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] Re: everything is down

2011-02-14 Thread Wim den Ouden
Seems ok to me hr datastore

2011/2/14 Girish mail.gir...@gmail.com

 I am on a Standard Master/Slave

 Girish


 On Mon, Feb 14, 2011 at 2:36 PM, Nickolas Daskalou n...@daskalou.comwrote:

 Are you guys on the standard Master/Slave datastore, or the new High
 Replication datastore?

 Nick


 On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote:

 yep... constantly datastore timeouts and task errors

  --
 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.




 --
 Regards

 Girish Lakshminarayana
 Technology Consultant  Director, Klea Global (http://www.kleaglobal.com/)
 Mobile. +919871030744
 Skype: anticlickwise
 Twitter: http://www.twitter.com/anticlickwise
 Blog: http://www.aboxtothinkoutof.com
 *
 *
 *My Websites
 *
 http://www.trackthisnow.com
 http://www.webtoim.com/site
 http://www.dealzfull.com

  --
 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.




-- 
gr
Wim den Ouden
Custom applications, based on Google App Enginehttps://e-comm1.appspot.com/
.
Free open source E-commerce/E-bookkeeping/E-business framework (web)
appshttp://code.google.com/p/relat/
.

-- 
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: everything is down

2011-02-14 Thread Girish
I think the 12 am spike here explains it
http://code.google.com/status/appengine/detail/datastore/2011/02/14#ae-trust-detail-datastore-get-latency
it seems to be ok now

On Feb 14, 2:12 pm, Wim den Ouden wdenou...@gmail.com wrote:
 Seems ok to me hr datastore

 2011/2/14 Girish mail.gir...@gmail.com









  I am on a Standard Master/Slave

  Girish

  On Mon, Feb 14, 2011 at 2:36 PM, Nickolas Daskalou n...@daskalou.comwrote:

  Are you guys on the standard Master/Slave datastore, or the new High
  Replication datastore?

  Nick

  On 14 February 2011 19:55, Dmitry dmitry.lukas...@gmail.com wrote:

  yep... constantly datastore timeouts and task errors

   --
  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.

  --
  Regards

  Girish Lakshminarayana
  Technology Consultant  Director, Klea Global (http://www.kleaglobal.com/)
  Mobile. +919871030744
  Skype: anticlickwise
  Twitter:http://www.twitter.com/anticlickwise
  Blog:http://www.aboxtothinkoutof.com
  *
  *
  *My Websites
  *
 http://www.trackthisnow.com
 http://www.webtoim.com/site
 http://www.dealzfull.com

   --
  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.

 --
 gr
 Wim den Ouden
 Custom applications, based on Google App Enginehttps://e-comm1.appspot.com/
 .
 Free open source E-commerce/E-bookkeeping/E-business framework (web)
 appshttp://code.google.com/p/relat/
 .

-- 
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: RE: [google-appengine] Re: everything is down

2011-02-14 Thread Dmitry
Master/Slave. now seems to be ok... 

-- 
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: Not authorized - can't log into appengine

2011-02-14 Thread Chris Mac
I am having the same problem on my Google Apps for Education domain.
Whenever I go to http://appengine.google.com/a/domain, I get the message 
'You are not authorized to access this application'. I can get to my admin 
panel just fine, but if I try to enable App Engine from there, I get the 
same message.
Is there a known solution?

-- 
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: RE: [google-appengine] Re: everything is down

2011-02-14 Thread Dmitry
again. some datastore errors. ahhr. Our clients hate us
2011-02-14 01:03:36.464  

Timeout: The datastore operation timed out, or the data was temporarily 
unavailable.


-- 
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: BadValueError: Error converting pb: meaning: 7

2011-02-14 Thread burg
now I'm also getting this sporadically from the admin console:
2011-02-14 02:02:44.815 /admin_console/datastore?kind=Entity 500 79ms
116cpu_ms 116api_cpu_ms 0kb Mozilla/5.0 (Macintosh; U; Intel Mac OS X
10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/
9.0.597.102 Safari/534.13,gzip(gfe)
62.219.126.27 - alon [14/Feb/2011:02:02:44 -0800] GET /admin_console/
datastore?kind=Entity HTTP/1.1 500 768 http://3.company-
proxy.appspot.com/admin_console/datastore Mozilla/5.0 (Macintosh; U;
Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko)
Chrome/9.0.597.102 Safari/534.13,gzip(gfe) 3.company-
proxy.appspot.com ms=79 cpu_ms=117 api_cpu_ms=117 cpm_usd=0.003427
E 2011-02-14 02:02:44.802
Error converting pb: meaning: 7
name: expires
value 
  int64Value: 0x4b21500a798d6

multiple: false

Exception was: 'datetime.timedelta' object is not callable
Traceback (most recent call last):
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/webapp/__init__.py, line 515, in __call__
handler.get(*groups)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/admin/__init__.py, line 671, in get
result_set, total = self.execute_query()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
ext/admin/__init__.py, line 616, in execute_query
entities = query.Get(start + num)[start:]
  File /base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py, line 1352, in Get
batch = batcher.next_batch(limit)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
datastore/datastore_query.py, line 1105, in next_batch
batch = self.__next_batch.get_result()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
api/apiproxy_stub_map.py, line 534, in get_result
return self.__get_result_hook(self)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
datastore/datastore_query.py, line 1028, in __query_result_hook
for result in query_result.result_list()]
  File /base/python_runtime/python_lib/versions/1/google/appengine/
datastore/datastore_rpc.py, line 110, in pb_to_query_result
return self.pb_to_entity(pb)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py, line 205, in pb_to_entity
return Entity._FromPb(pb)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py, line 844, in _FromPb
value = datastore_types.FromPropertyPb(prop)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore_types.py, line 1638, in FromPropertyPb
'Error converting pb: %s\nException was: %s' % (pb, msg))
BadValueError: Error converting pb: meaning: 7
name: expires
value 
  int64Value: 0x4b21500a798d6

multiple: false

Exception was: 'datetime.timedelta' object is not callable

-- 
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] Could not verify SSL certificate

2011-02-14 Thread Nurettin Omer Hamzaoglu
Hi,

After installing 1.4.2 I started to recieve the following error. It was 
working with 1.4.0.

javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for: 
https://www.googleapis.com/appsmarket/v2sandbox/customerLicense/

BR.

-- 
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: Does the Always On feature incur cpu costs when instance is idle?

2011-02-14 Thread Simon Knott
Did you manage to test this any more Paul?

I've just been stung with this again - 3 instances left inert for a
couple of days.  Three requests which should have consumed 8 seconds
of CPU time consumed almost 200 seconds!

On Feb 11, 11:41 pm, Paul Verhelst
paul.verhe...@cabinetsensesoftware.com wrote:
 Thanks Barry, that's exactly what I was looking for.  There's a bit of a
 catch-22 situation here though.  My app is serving very little traffic at
 the time and according to the docs, appengine will always serve a load
 request in that case... and the only solution is to use always on... but
 once my traffic starts to increase, I can look at this option.

 thank you

 Paul

-- 
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] Could not verify SSL certificate

2011-02-14 Thread Mauro Asprea
It seems that java can't find the certificate of googleapis.com so it can't
validate it, or the CA is not a trusted one. I assume this is happening in
the development sdk right?

Checkout
https://duckduckgo.com/?q=javax.net.ssl.SSLHandshakeException+certificate

https://duckduckgo.com/?q=javax.net.ssl.SSLHandshakeException+certificate
http://www.webapper.com/blog/index.php/2007/02/09/troubleshooting-javaxnetsslsslhandshakeexception/

On Mon, Feb 14, 2011 at 12:34 PM, Nurettin Omer Hamzaoglu 
nomerhamzao...@gmail.com wrote:

 Hi,

 After installing 1.4.2 I started to recieve the following error. It was
 working with 1.4.0.

 javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate for:
 https://www.googleapis.com/appsmarket/v2sandbox/customerLicense/

 BR.

 --
 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.




-- 
Mauro Sebastián Asprea

E-Mail: mauroasp...@gmail.com
Mobile: +34 654297582
Skype: mauro.asprea

Algunos hombres ven las cosas como son y se preguntan porque. Otros sueñan
cosas que nunca fueron y se preguntan por qué no?.
George Bernard Shaw

-- 
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] Re: App Engine SDK 1.4.2 is out!

2011-02-14 Thread Colin Hawkett
Thanks Greg - would it be a future possibility to configure the queue 
algorithm not to do this (on a per-queue basis)? Obviously the low latency 
heuristic is a good one in most situations, but an app developer might be 
prepared to wear a slight variation in latency to get guaranteed 
serialisation. I'm guessing that there are other edge cases which make 
guaranteeing serialised execution tricky (beyond the task selection 
algorithm).

-- 
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] MapReduce as Cron jobs: How to specify the number of shards?

2011-02-14 Thread djidjadji
Today I updated the mapreduce library.
I see the same only 1 shard when I use the dev_server.
The dev_server does not have the __scatter__ property of objects.
The mapreduce library then falls back to a single shard.

And on the production it depends on how many objects have a
__scatter__ property.
If less then shard_count have __scatter__ you get less shards.

GAE Team: What determines if an object gets a __scatter__ property?

2011/2/11 djidjadji djidja...@gmail.com:
 In your cron_mapreduce.py add these two lines

 shard_count=int(self.request.get(shard_count,
 mr_control._DEFAULT_SHARD_COUNT))

 mr_control.start_map(
     self.request.get(name),
     self.request.get(reader_spec, your_mapreduce.map),
     self.request.get(reader_parameters,
                      mapreduce.input_readers.DatastoreInputReader),
     { entity_kind: self.request.get(entity_kind, models.YourModel),
       processing_rate: int(self.request.get(processing_rate, 100)) },
    shard_count = shard_count,
   mapreduce_parameters={done_callback: self.request.get(done_callback,
                                                             None) } )


 2011/2/10 Andrin von Rechenberg andri...@gmail.com:
 Hey there
 Today I created a library to run MapReduces as cron jobs in python.
 See
 here: http://devblog.miumeet.com/2011/02/schedule-mapreduce-daily-on-appengine.html
 However, I didn't figure out how to I'm able to set the
 shard_count programmatically.
 In mapreduce/control.py there is a function I call:

 def start_map(name,

               handler_spec,

               reader_spec,

               reader_parameters,

               shard_count=_DEFAULT_SHARD_COUNT,

               [...])

 However, no matter what o I pass as the shard_count argument, it is ignored.

 Any ideas?

 Cheers,

 -Andrin


-- 
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] Upcoming fulltext search

2011-02-14 Thread Philip
Hi,

since the fulltext search is listed on the roadmap I'm curious if
there is a trusted tester program yet. I'd like to participate, mainly
because of the fact that my use case would not be regular indexing of
documents, its a little bit more complicated.

Best Regards
Philip

-- 
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] QueueConstants.maxTaskSizeBytes()

2011-02-14 Thread Matija
What is exact meaning of this value: MAX_TASK_SIZE_BYTES = 10240

I don't know if this was new issue with 1.4.2 or simply my 
misunderstanding. 

Does this means max task payload or something else ? If it is something else 
what is then max_task_payload_size and how can I calculate it ?

I want to enqueue task with 10192 bytes payload size and gae 
throws java.lang.IllegalArgumentException: Task size too large

-- 
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] A difficult app engine optimisation problem - selecting distinct entities across a large table

2011-02-14 Thread Edward Hartwell Goose
Hi,

I was wondering if anyone can help me with this problem. We have an
idea we'd like to implement, and we're currently unable to do this
efficiently.

I've anonymised the data as best as possible, but the structure is the
same.

We have two entities, Car and CarJourney.

Each Car has 0 to many CarJourney's.

Each Car Journey has (amongst other properties) a date associated with
it - the date the journey was started.

I wish to query by time over car journeys. I'll have two times, a
start date and an end date, where start date = endDate, and I want to
receive the most recently started journey in that period.

So, if I had a particular car in mind, say car 123, I'd write a query
that limits by Car.key and Car.startDate, where Car.key == 123 and
Journey.startDate = startDate and Journey.startDate = endDate with
an ordering on Journey.startDate descending and a limit of 1.

e.g. Car A has 3 journeys, taken on 1st, 2nd and the 3rd of the month.
The query start date is 1st and the query end date is the 2nd. The
result of this query would be one Car journey, the 2nd.

Once the result of that query is returned, a very small amount of
processing is done to return a result to the user.

That's the easy bit.

But, instead of over 1 Car, I want a list of cars, where the list
contains N keys to cars.

So, I want to run the above query N times, once for every car. And I
want the latest journey for each car.

Because the time range is flexible (and thus can't be known
beforehand) we can't implement a isMostRecent flag, because while it
might be the most recent for now, it might not be the most recent for
the specified date parameters.

We also need to ensure that this returns promptly (current queries are
around the 3-5 second mark for a small set of data) as this goes
straight back to the user. This means that we can't use task queues,
and because the specified dates are arbitrary we can't implement mass
indexing of isWithinDate fields.

We tried using an async query, but because the amount of processing is
negligible the bottleneck is still the queries on the datastore
(because the async api still sends the requests synchronously, it just
doesn't block).

Ideally, we'd implement this as a select on car journeys ordered by
startDate where the Car.key is distinct, but we can't seem to pull
this off in GAE.

There are numerous small optimisations we can make (for example, some
MemCaching of repeated queries) but none have made a significant dent
in our query time. And MemCaching can only help for a maximum of 1-2
minutes (due to the inevitable forward march of time!)

Any ideas are most welcome and highly appreciated.

Thanks,
Ed




-- 
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] Having a problem with 2 Legged OAuth

2011-02-14 Thread Cherny D . C . Berbesí I .
Hi guys, I getting Authorization required when I try to do:

client =
gdata.contacts.service.ContactsService(source=APPLICATION_SOURCE)
client.auth_token = gdata.gauth.TwoLeggedOAuthHmacToken(CONSUMER_KEY,
CONSUMER_SECRET, requestor_id)

I'm doing this on a task queue, I'm not sure why I get this error, I'm
pretty sure that the parameters are right. How can I make another test
or debug of this?

Thanks in advance

-- 
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: Upcoming changes to Task Queues

2011-02-14 Thread Darien Caldwell
It's kind of humorous you guys ended up here with that question. The
error message is related to the service that 'app' was written on, and
not an error with the App itself. It should clear up on it's own.

The person who wrote the 'app' shouldn't be passing that message on to
end users, as it's obviously confusing. You should be directing your
questions to the creator of the App, not Google. They didn't make the
app. Obviously the error says to come here though.

-- 
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] _AE_DatastoreAdmin_Operation Entities active_jobs

2011-02-14 Thread James Gilliam
I used the datastore admin feature to delete all of my entities ... it fires 
off one job for each entity ... some of the jobs end quickly and others 
never end ... days later, it still shows active_jobs outstanding ... not 
sure what to do about it ... ?

also, the datastore shows the table _AE_DatastoreAdmin_Operation as an 
entity with rows and was wondering if i should delete those as well ... ?

-- 
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] datastore building indexes which never finish can't be vacuum'ed

2011-02-14 Thread James Gilliam
i have two indexes which are showing building (for days) for entities with 
few instances.  they never stop building.  when i try vacuum_indexes they 
say there are not deleted because they likely do not exist. but, they do 
exist according to the datastore indexes. perhaps they are not deleted 
because they are being built.  how do i stop them from building and/or 
vacuum them up?  not sure if this is related to trying to remove all 
entities from the datastore and jobs which never end either.  i posted on 
that separately.

-- 
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: Error code 203

2011-02-14 Thread Brian Olson
I am also seeing this and have found no other way to contact the App Engine 
team as noted. I've added myself to an issue, commenting and starring it, 
but no response over there either.

Just now in the logs from aprigoninjadev.appspot.com
2011-02-14 08:36:39.916

A serious problem was encountered with the process that handled this request, 
causing it to exit. This is likely to cause a new process to be used for the 
next request to your application. If you see this message frequently, you 
should contact the App Engine team. (Error code 203)

-- 
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] MapReduce as Cron jobs: How to specify the number of shards?

2011-02-14 Thread Stephen Johnson
This document explains the strategy:
http://code.google.com/p/appengine-mapreduce/wiki/ScatterPropertyImplementation

It says tht there is a .8% chance of an entity getting this property. That
seems really low. I wonder if they meant 8% not .8%?

Stephen

On Mon, Feb 14, 2011 at 7:12 AM, djidjadji djidja...@gmail.com wrote:

 Today I updated the mapreduce library.
 I see the same only 1 shard when I use the dev_server.
 The dev_server does not have the __scatter__ property of objects.
 The mapreduce library then falls back to a single shard.

 And on the production it depends on how many objects have a
 __scatter__ property.
 If less then shard_count have __scatter__ you get less shards.

 GAE Team: What determines if an object gets a __scatter__ property?

 2011/2/11 djidjadji djidja...@gmail.com:
  In your cron_mapreduce.py add these two lines
 
  shard_count=int(self.request.get(shard_count,
  mr_control._DEFAULT_SHARD_COUNT))
 
  mr_control.start_map(
  self.request.get(name),
  self.request.get(reader_spec, your_mapreduce.map),
  self.request.get(reader_parameters,
   mapreduce.input_readers.DatastoreInputReader),
  { entity_kind: self.request.get(entity_kind, models.YourModel),
processing_rate: int(self.request.get(processing_rate, 100)) },
 shard_count = shard_count,
mapreduce_parameters={done_callback:
 self.request.get(done_callback,
  None) } )
 
 
  2011/2/10 Andrin von Rechenberg andri...@gmail.com:
  Hey there
  Today I created a library to run MapReduces as cron jobs in python.
  See
  here:
 http://devblog.miumeet.com/2011/02/schedule-mapreduce-daily-on-appengine.html
  However, I didn't figure out how to I'm able to set the
  shard_count programmatically.
  In mapreduce/control.py there is a function I call:
 
  def start_map(name,
 
handler_spec,
 
reader_spec,
 
reader_parameters,
 
shard_count=_DEFAULT_SHARD_COUNT,
 
[...])
 
  However, no matter what o I pass as the shard_count argument, it is
 ignored.
 
  Any ideas?
 
  Cheers,
 
  -Andrin
 

 --
 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.



Re: [google-appengine] QueueConstants.maxTaskSizeBytes()

2011-02-14 Thread Robert Kluin
Hi Matija,
  The maximum task payload size is 10k.

http://code.google.com/appengine/docs/java/taskqueue/overview.html#Quotas_and_Limits

  Try to compress your data or find a more efficient serialization
method -- or both.  In Python I use bzip to compress 'large' payloads.


Robert






On Mon, Feb 14, 2011 at 09:51, Matija matija.jerko...@gmail.com wrote:
 What is exact meaning of this value: MAX_TASK_SIZE_BYTES = 10240
 I don't know if this was new issue with 1.4.2 or simply my
 misunderstanding.
 Does this means max task payload or something else ? If it is something else
 what is then max_task_payload_size and how can I calculate it ?
 I want to enqueue task with 10192 bytes payload size and gae
 throws java.lang.IllegalArgumentException: Task size too large

 --
 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.



Re: [google-appengine] datastore building indexes which never finish can't be vacuum'ed

2011-02-14 Thread Wim den Ouden
http://code.google.com/p/googleappengine/issues/entry?template=Production%20issue

2011/2/14 James Gilliam jimgill...@gmail.com

 i have two indexes which are showing building (for days) for entities with
 few instances.  they never stop building.  when i try vacuum_indexes they
 say there are not deleted because they likely do not exist. but, they do
 exist according to the datastore indexes. perhaps they are not deleted
 because they are being built.  how do i stop them from building and/or
 vacuum them up?  not sure if this is related to trying to remove all
 entities from the datastore and jobs which never end either.  i posted on
 that separately.

 --
 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.




-- 
gr
Wim den Ouden
Custom applications, based on Google App Enginehttps://e-comm1.appspot.com/
.
Free open source E-commerce/E-bookkeeping/E-business framework (web)
appshttp://code.google.com/p/relat/
.

-- 
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] ClassNotFoundException: RequestEndListener

2011-02-14 Thread Andreas Källberg
Hi,
After upgrading to version 1.4.2 of the gae jdk I get the following
exception when running my tests:
java.lang.NoClassDefFoundError: com/google/appengine/tools/development/
RequestEndListener

When google complete class name nothing comes up.
Anyone else seen this?
Complete stacktrace:
java.lang.NoClassDefFoundError: com/google/appengine/tools/development/
RequestEndListener
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.misc.Service$LazyIterator.next(Service.java:271)
at
com.google.appengine.tools.development.ApiProxyLocalImpl.startServices(ApiProxyLocalImpl.java:
474)
at com.google.appengine.tools.development.ApiProxyLocalImpl.access
$600(ApiProxyLocalImpl.java:46)
at com.google.appengine.tools.development.ApiProxyLocalImpl
$1.run(ApiProxyLocalImpl.java:459)
at com.google.appengine.tools.development.ApiProxyLocalImpl
$1.run(ApiProxyLocalImpl.java:457)
at java.security.AccessController.doPrivileged(Native Method)
at
com.google.appengine.tools.development.ApiProxyLocalImpl.getService(ApiProxyLocalImpl.java:
456)
at
com.google.appengine.tools.development.testing.LocalServiceTestHelper.getLocalService(LocalServiceTestHelper.java:
306)
at
com.google.appengine.tools.development.testing.LocalMailServiceTestConfig.getLocalMailService(LocalMailServiceTestConfig.java:
65)
at
com.google.appengine.tools.development.testing.LocalMailServiceTestConfig.tearDown(LocalMailServiceTestConfig.java:
32)
at
com.google.appengine.tools.development.testing.LocalServiceTestHelper.tearDown(LocalServiceTestHelper.java:
268)
at
org.fornax.cartridges.sculptor.framework.test.AppEngineTestHelper.tearDownAppEngine(AppEngineTestHelper.java:
83)
at
org.fornax.cartridges.sculptor.framework.test.AbstractAppEngineJpaTests.tearDownAppEngine(AbstractAppEngineJpaTests.java:
56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod
$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:
15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:
41)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:
37)
at
org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:
82)
at
org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:
72)
at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:
240)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
44)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:
28)
at
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:
61)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:
31)
at
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:
70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:
180)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
49)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
38)
at

[google-appengine] Re: My server can't reach app engine for being in a forbidden country (it's in Atlanta)

2011-02-14 Thread popbuzz me
Is this problem solved? We also have the same problem. We use a VPS
server to access our app for users in China (ghs.google.com is blocked
there). But now, the link between the VPS server and our app is cut!
No access!!!

The problem is that, Google doesn't response!

On Feb 12, 9:22 am, Max Harper maxhar...@gmail.com wrote:
 Silence. Google employees, please restore my faith in this service by
 responding!  (even if the response is: you're screwed, get a new VPS)

 Here's my traceroute, which (using a geo-location service) shows Atlanta =
 Los Angeles = Mountain View.

 max@nea:~/tmp$ traceroute maxharp3r-sandbox.appspot.com
 traceroute to maxharp3r-sandbox.appspot.com (74.125.67.141), 30 hops max, 60
 byte packets
  1  63.247.74.43 (63.247.74.43)  0.339 ms  0.330 ms  0.379 ms
  2  63.247.64.153 (63.247.64.153)  18.540 ms  18.636 ms  18.700 ms
  3  209.51.130.209 (209.51.130.209)  0.339 ms  0.349 ms  0.412 ms
  4  aix.pr1.atl.google.com (198.32.132.41)  0.814 ms  0.811 ms  0.789 ms
  5  72.14.233.56 (72.14.233.56)  0.670 ms  55.190 ms  0.586 ms
  6  72.14.239.127 (72.14.239.127)  1.578 ms 72.14.239.131 (72.14.239.131)  
 23.984 ms 209.85.254.247 (209.85.254.247)  1.125 ms
  7  209.85.255.194 (209.85.255.194)  4.928 ms 209.85.255.190
 (209.85.255.190)  1.062 ms 209.85.255.198 (209.85.255.198)  4.785 ms
  8  gw-in-f141.1e100.net (74.125.67.141)  1.105 ms  1.452 ms  1.934 ms

-- 
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] uploading to the datastore with bulkloader from xml

2011-02-14 Thread JaySicks
Hi, I just found out about the bulkloader function in the python sdk,
so I installed, and tried it out.
(I'm developing in java)

I have an xml file, which contains all the information I want to
upload (in fact it contains more than I need).
so, I have a quite complex xml file, like this:

roottag
  tag1
tag2name1/tag2
tag3list
  tag3 attr1=type1value1/tag2
  tag3 attr1=type2value2/tag2
/tag3list
tag4
  tag5misc1/tag5
  tag6misc2/tag6
/tag4
  /tag1
  tag1
...
  /tag1
  ...
/roottag

and I would like to create these entities:

kind1{
 name //from tag2, also, this is the key of the entity
 list.d1 //from attr1
 list.d2 //from tag3
 data1 // from tag5
 data2 // from tag6
}

subkind1{
 id // auto-generated
 type //from attr1
 value //from tag3
 foreignkey // points to kind1 the value is contained in tag2
}

Also it would be great if kind1 would have a list property containing
the keys of all connecting subkind1, but since subkind1 doesn't have
explicit id, I'm not sure if it's even possible.

I've read some articles about the topic, but most of them load from
csv file, and couldn't even find reference on how to handle
attributes.
So I think I'm able to map tags to simple properties, but I'm quite
lost when it comes to lists, and attributes...
Sorry for asking such a direct question, but unfortunately I'm not
familiar with Python at all.
So is it possible, to load such data to datastore with bulkloader? And
if it is, then how?

Thanks in advance.

-- 
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] Please fix the log viewer

2011-02-14 Thread Neborya
Previously it allowed pressing Next Page when there were no logs for
the specified time. Now Next Page is only available when you can see
logs, which is very inconvenient in those cases when there are no logs
found, but you want to search for the older records.

-- 
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: Inconsistent cascading persistence-by-reachability behavior with JDO, App Engine, Data Nucleus, JUnit

2011-02-14 Thread federico
I have the exact same problem with a similar domain and relationships:

Game - (1-1) - Map - (1-N) - Lands

all owned relationships when i save Game sometimes all Lands get saved
and sometimes Not
What the Hell is going on


On 2 Feb, 02:01, Apollo david.moffe...@gmail.com wrote:
 I'm experimenting with App Engine, using JDO and DataNucleus for
 persistence. I have a simple domain that includes several
 unidirectional relationships. The question comes with nesting those
 relationships:

     * Civilization -(1-1)- Clan
     * Civilization -(1-1)- Land
     * Civilization -(1-1)- Military -(1-N)- Armies (this is
 inconsistent)
     * Civilization -(1-N)- Settlement

 According to the DataNucleus Documentation, persistence-by-
 reachability semantics should persist everything by cascading on a
 persist of a Civilization. I have a JUnit test to check the basic
 storage and retrieval of these objects, but its behavior is
 inconsistent. With no changes to the code, repeated runs of the test
 give nondeterministic results. Specifically, the armies only persist
 about 50% of the time. They are the only test that fails.

 I could more easily understand a scenario where Armies never persist,
 but the irregular behavior has me at a loss. Everything else persists
 correctly and consistently. I've tried wrapping the factory method in
 a transaction and I've tried bidirectional relationships, and neither
 have changed the 50/50 pass/fail split in JUnit.

 I am using Annotation-based configuration for DataNucleus, as
 described in the App Engine documentation (link not included because
 of anti-spam measures).

 My code is posted in our stackoverflow version of this same question:

 http://stackoverflow.com/questions/4847023/inconsistent-cascading-per...

-- 
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] forbidden country?? US IP!!

2011-02-14 Thread alan.bl...@gmail.com
My app has been working fine for over 1 year. Now its reporting

Google
Error


Forbidden
Your client does not have permission to get URL /webcam/last10.txt
from this server. (Client IP address: 66.96.213.34)

How do I resolve this?

-- 
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: My server can't reach app engine for being in a forbidden country (it's in Atlanta)

2011-02-14 Thread alan.bl...@gmail.com
My app is also down for what appears to be an identical situation.
I have a US server that retrieves data from my appspot app. The app is
reporting the same error forbidden country. I am a paying customer. I
use more than the free quota every day and I have no way it seems of
contacting google to resolve this. My site has been down for at least
1 day.  I have posted an issue with issue tracker but after 7hrs still
no response there also. My site has worked for over a year with out
any major problems.

On Feb 13, 1:54 am, dan dfran...@gmail.com wrote:
 Thanks for the suggestion. We have no blacklist dos.yaml. Our blacklist
 shows no rejected visitors in the console.

 On Saturday, February 12, 2011 6:33:09 AM UTC-8, Jon Smirl wrote:

  On Sat, Feb 12, 2011 at 9:22 AM, Max Harper maxh...@gmail.com wrote:
   Silence. Google employees, please restore my faith in this service by
   responding!  (even if the response is: you're screwed, get a new VPS)

  Not with Google, but maybe it got into your DOS protection file...
 http://code.google.com/appengine/docs/java/config/dos.html

  There is a way to add IPs to this from the console.

-- 
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: My server can't reach app engine for being in a forbidden country (it's in Atlanta)

2011-02-14 Thread alan.bl...@gmail.com
I am having exactly the same issue. very frustrated.

On Feb 12, 9:40 am, Max Harper maxhar...@gmail.com wrote:
 Our VPS server (in Atlanta, GA, USA) appears to be blacklisted by app engine
 (403 errors, forbidden country), causing our app to be functionally down.  
 Help?

 Details:

 We stream data to our app engine app from a Linode server, hosted in
 Atlanta, GA.  Our ip address is 74.207.230.***.  As of 19 hours ago, we're
 getting 403s when trying to access pages on our app engine app.  Lynx shows:

 Your client does not have permission to get URL / from this server. (Client
 IP address:
 74.207.230.***)                                                               
            

 You are accessing this page from a forbidden country.    

 Log messages (403, or otherwise) do not make it to the app engine app
 console.

 wget also shows 403s for any of my app engine apps.  For instance:

 max@nea:~/tmp$ wgethttp://maxharp3r-sandbox.appspot.com
 --2011-02-11 16:32:18--  http://maxharp3r-sandbox.appspot.com/
 Resolving maxharp3r-sandbox.appspot.com... 74.125.67.141
 Connecting to maxharp3r-sandbox.appspot.com|74.125.67.141|:80... connected.
 HTTP request sent, awaiting response... 403 Forbidden
 2011-02-11 16:32:18 ERROR 403: Forbidden.

 These urls all work when I'm accessing from my local development machine (in
 Minneapolis, MN, USA).

 I'm not quite sure where to turn, since app engine has essentially no
 support contact.

 Thanks for your suggestions and help.

 Max

-- 
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: Prerelease SDK 1.4.2 is available for download

2011-02-14 Thread Bjorn
I have the same problem with spreadsheets, though not with feeds such
as docs.google.com/feeds/default/private/full it seems. Only
occuring when I tried 1.4.2


On Feb 10, 8:57 pm, Lior Harsat lior.har...@gmail.com wrote:
 Hi Ikai,

 I have been testing the SDK and I found one bug which seems critical.
 When I call the URLFetchService.fetch API  with a https URL I get a
 javax.net.ssl.SSLHandshakeException.
 for example when I fetch https://spreadsheets.google.com/feeds/
 list/ I get
 javax.net.ssl.SSLHandshakeException: Could not verify SSL certificate
 for:https://spreadsheets.google.com/feeds/list/...
 When I switch back to an older SDK this doesn't happen.

 Is there a Help us test Prerelease SDK 1.4.2 thread I can post this
 to?
 Can anyone confirm this bug reproduces?

 Thanx, Lior

 On Feb 3, 9:31 pm, Ikai Lan (Google) ikai.l+gro...@google.com
 wrote: Hey everyone, I just wanted to post that the prerelease SDKs for 
 1.4.2 are
  now available for early testing:

 http://code.google.com/p/googleappengine/downloads/list

  Highlights of this release:

  - Lots of XMPP improvements
  - Prospective Search API (formerly known as Matcher API) now available to
  everyone
  - Lots of improvements to task queues
  - vacuum_indexes in Java SDK

  Full release notes are below. As a reminder, the backend portions of 1.4.2
  have not been pushed yet, so they won't likely work (though vacuum_indexes
  for Java should be working). Download and enjoy!

  Python
  -
  - The XMPP API was updated to include presence and allow subscriptions.
  - The Task Queue now supports programmatic deleting of tasks.
     http://code.google.com/p/googleappengine/issues/detail?id=2588
  - The maximum rate per queue at which tasks are processed has been increased
  to
    100 tasks per second.
  - The maximum number of concurrent requests for a single queue can be
  specified
    in the application's queue.yaml. This provides an additional easy-to-use
  form
    of rate limiting. The current number of running tasks is also displayed in
    the Admin Console.
  - Metadata queries in the Datastore now support cursors.
  - Admin Console logs viewer now displays time as -MM-DD HH:MM:SS.mmm.
  - Added a warning when an admin tries to upload a queue.yaml where the
  number
    of new queues and the number of disabled queues exceeds 100.
  - Django 1.2.4 is available via use of the use_library() declaration. This
    version of Django has also been added to the Python SDK.
  - The Prospective Search API (formerly named the Matcher API) is available
  for
    use by all applications. Applications will be limited to a maximum of 1000
    subscriptions during the experimental release.
  - Added builtin support for the deferred library.
  - If Python Precompilation fails, an error will be printed but the app will
    still be uploaded.
  - Added a --disable_sdk_update_check command line flag to the dev_appserver.
  - The Mail API added KML and KMZ files as allowed attachments.
  - Fixed an issue where the datastore copy functionality did not work if
  writes
    were disabled on the source application.
  - Fixed an issue where mail from @appid.appspotmail.com did not work when
    sending mail to app admins.
  - Fixed an issue where the dev_appserver URLFetch API limit was 16MB. It is
  now
    32 MB to match production.
  - Fixed a zipimport issue on Windows which was not working due to path
    separators.
     http://code.google.com/p/googleappengine/issues/detail?id=2086
  - Fixed an issue where the SDK did not enforce the 100 task limit for the
  Task
    Queue.
     http://code.google.com/p/googleappengine/issues/detail?id=3296
  - Fixed an issue where Query.order() was broken for properties with the
  'name'
    attribute.
     http://code.google.com/p/googleappengine/issues/detail?id=3693
  - Fixed an unhelpful error message in the Python namespace_manager.
     http://code.google.com/p/googleappengine/issues/detail?id=3931

  Java
  -
  - You can now vacuum datastore indexes with the Java SDK.
  - The XMPP API was updated to include presence and allow subscriptions.
  - The Task Queue now supports programmatic deleting of tasks.
     http://code.google.com/p/googleappengine/issues/detail?id=2588
  - The maximum rate per queue at which tasks are processed has been increased
  to
    100 task per second.
  - The maximum number of concurrent requests for a single queue can be
  specified
    in the application's queue.xml. This provides an additional easy-to-use
  form
    of rate limiting. The current number of running tasks is also displayed in
    the Admin Console.
  - Metadata queries in the Datastore now support cursors.
  - Admin Console logs viewer now displays time as -MM-DD HH:MM:SS.mmm.
  - Added a warning when an admin tries to upload a queue.yaml where the
  number
    of new queues and the number of disabled queues exceeds 100.
  - Added a putIfUntouched() method to the Memcache API.
     

[google-appengine] java.lang.ClassNotFoundException: com.google.appengine.tools.enhancer.Enhance

2011-02-14 Thread tuco
Hi All,
As soon as I create a Google Web application project, it immediately
reports error: Could not find the
main class: com.google.appengine.tools.enhancer.Enhance. Program will
exit.

In Console-
java.lang.NoClassDefFoundError: com/google/appengine/tools/enhancer/
Enhance
Caused by: java.lang.ClassNotFoundException:
com.google.appengine.tools.enhancer.Enhance
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread main

I've downloaded latest eclipse - 3.6 and installed GAE plugin 1.4.2

Also, GAE library is referenced in the project. See screenshot

http://imageupload.org/?di=1412975794035

I'm new to GAE, pls help.

Thanks

-- 
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] Datastore Viewer no longer display the data

2011-02-14 Thread Zhe Li
I cannot see any of my data in the datastore viewer in my new apps...
All of them say Oops! We couldn't retrieve your list of Kinds.

here is the IDs for some of them:

lucky-money
zhetoy

Thanks!

Cheers,
Zhe

-- 
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] Diagnosing application problems due to increased traffic.

2011-02-14 Thread smeans
One of the major reasons I went with Google AppEngine over other
possible solutions was that I believed that I wouldn't have to worry
about capacity issues. If I wrote to the GAE API, my app would work
just as well for 10, 100, or 1000 users. My application is the back-
end content delivery system for an iPhone application, and when
Verizon users started coming online last Thursday my GAE traffic went
crazy. Here's a chart:

https://skitch.com/smeans/rqugd/dashboard-coolibah-gallery

My third-party monitoring service (Pingdom) has reported several
outages since then (one of about 55 minutes.) I've authorized plenty
of daily budget for my app, and done my best to use memcache, etc. to
keep the performance up.

Now, I'm afraid to do anything to disturb my application
configuration. I haven't made any changes to my inventory, etc.
because I don't want to invalidate cache and possibly end up with
another major outage like I experienced Friday.

How can I separate problems due to Google infrastructure from problems
due to my application architecture?

-- 
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] I can no longer see my data in Datastore Viewer...

2011-02-14 Thread Zhe Li
I cannot see any of my data in the datastore viewer in my new apps...
All of them say Oops! We couldn't retrieve your list of Kinds.

here is the IDs for some of them:

lucky-money
zhetoy

-- 
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: Upcoming changes to Task Queues

2011-02-14 Thread Geoffrey Spear
The app developer doesn't do anything to pass those messages on; that's the 
default 500 error page for all apps. It is, of course, almost certainly 
never helpful to direct end users here for help.

-- 
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] Can app_cfg display the names of the files being uploaded?

2011-02-14 Thread Devraj Mukherjee
Hi all,

Does anyone know if app_cfg can display the list of files being
uploaded to the server?

Useful to know as feedback.

Thoughts?

-- 
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] Re: BadValueError: Error converting pb: meaning: 7

2011-02-14 Thread Robert Kluin
Hi Alon,
   Looks like you might be giving a bad value to a datetime property.



Robert







On Mon, Feb 14, 2011 at 06:29, burg burga...@gmail.com wrote:
 now I'm also getting this sporadically from the admin console:
 2011-02-14 02:02:44.815 /admin_console/datastore?kind=Entity 500 79ms
 116cpu_ms 116api_cpu_ms 0kb Mozilla/5.0 (Macintosh; U; Intel Mac OS X
 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/
 9.0.597.102 Safari/534.13,gzip(gfe)
 62.219.126.27 - alon [14/Feb/2011:02:02:44 -0800] GET /admin_console/
 datastore?kind=Entity HTTP/1.1 500 768 http://3.company-
 proxy.appspot.com/admin_console/datastore Mozilla/5.0 (Macintosh; U;
 Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko)
 Chrome/9.0.597.102 Safari/534.13,gzip(gfe) 3.company-
 proxy.appspot.com ms=79 cpu_ms=117 api_cpu_ms=117 cpm_usd=0.003427
 E 2011-02-14 02:02:44.802
 Error converting pb: meaning: 7
 name: expires
 value 
  int64Value: 0x4b21500a798d6

 multiple: false

 Exception was: 'datetime.timedelta' object is not callable
 Traceback (most recent call last):
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 ext/webapp/__init__.py, line 515, in __call__
    handler.get(*groups)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 ext/admin/__init__.py, line 671, in get
    result_set, total = self.execute_query()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 ext/admin/__init__.py, line 616, in execute_query
    entities = query.Get(start + num)[start:]
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 api/datastore.py, line 1352, in Get
    batch = batcher.next_batch(limit)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 datastore/datastore_query.py, line 1105, in next_batch
    batch = self.__next_batch.get_result()
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 api/apiproxy_stub_map.py, line 534, in get_result
    return self.__get_result_hook(self)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 datastore/datastore_query.py, line 1028, in __query_result_hook
    for result in query_result.result_list()]
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 datastore/datastore_rpc.py, line 110, in pb_to_query_result
    return self.pb_to_entity(pb)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 api/datastore.py, line 205, in pb_to_entity
    return Entity._FromPb(pb)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 api/datastore.py, line 844, in _FromPb
    value = datastore_types.FromPropertyPb(prop)
  File /base/python_runtime/python_lib/versions/1/google/appengine/
 api/datastore_types.py, line 1638, in FromPropertyPb
    'Error converting pb: %s\nException was: %s' % (pb, msg))
 BadValueError: Error converting pb: meaning: 7
 name: expires
 value 
  int64Value: 0x4b21500a798d6

 multiple: false

 Exception was: 'datetime.timedelta' object is not callable

 --
 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.



Re: [google-appengine] Inviting another developer

2011-02-14 Thread Robert Kluin
If they are using a google apps account, they should click the second
link (like the email states).  You might need to re-invite them.





Robert






On Sun, Feb 13, 2011 at 22:35, Michael Green rilkeanm...@gmail.com wrote:
 I'm having trouble adding another developer to my application.  I invite
 them and they receive an e-mail.  However, when they click the e-mail it
 states that they are Not authorized to access this application.  There is
 a second link in their invite that says they can login to their Google
 Account and accept the invitation that way.   When they login, there is no
 indication that there is a pending invite.

 Can somebody tell me what I'm missing?

 Thanks!

 --
 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.



Re: [google-appengine] Diagnosing application problems due to increased traffic.

2011-02-14 Thread Robert Kluin
What is that chart, QPS?  If you're hitting issues at one or two QPS,
there is very probably a design problem with your app.

Use Appstats and try to figure out what's going wrong.  Maybe you're
doing a bunch of RPCs serially.

Check your logs for errors.



Robert




On Sun, Feb 13, 2011 at 18:34, smeans sme...@gmail.com wrote:
 One of the major reasons I went with Google AppEngine over other
 possible solutions was that I believed that I wouldn't have to worry
 about capacity issues. If I wrote to the GAE API, my app would work
 just as well for 10, 100, or 1000 users. My application is the back-
 end content delivery system for an iPhone application, and when
 Verizon users started coming online last Thursday my GAE traffic went
 crazy. Here's a chart:

 https://skitch.com/smeans/rqugd/dashboard-coolibah-gallery

 My third-party monitoring service (Pingdom) has reported several
 outages since then (one of about 55 minutes.) I've authorized plenty
 of daily budget for my app, and done my best to use memcache, etc. to
 keep the performance up.

 Now, I'm afraid to do anything to disturb my application
 configuration. I haven't made any changes to my inventory, etc.
 because I don't want to invalidate cache and possibly end up with
 another major outage like I experienced Friday.

 How can I separate problems due to Google infrastructure from problems
 due to my application architecture?

 --
 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.



Re: [google-appengine] Can app_cfg display the names of the files being uploaded?

2011-02-14 Thread Robert Kluin
Hi Devraj,
  On thought: running with --verbose will give you details of which
files are being processed / ignored.



Robert






On Mon, Feb 14, 2011 at 12:58, Devraj Mukherjee dev...@gmail.com wrote:
 Hi all,

 Does anyone know if app_cfg can display the list of files being
 uploaded to the server?

 Useful to know as feedback.

 Thoughts?

 --
 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.



Re: RE: [google-appengine] Re: everything is down

2011-02-14 Thread David Mora
Now there seems to be a problem with the serving clusters:

Request was aborted after waiting too long to attempt to service your
request. This may happen sporadically when the App Engine serving
cluster is under unexpectedly high or uneven load. If you see this
message frequently, please contact the App Engine team.

On 14 February 2011 04:22, Dmitry dmitry.lukas...@gmail.com wrote:
 again. some datastore errors. ahhr. Our clients hate us

 2011-02-14 01:03:36.464

 Timeout: The datastore operation timed out, or the data was temporarily
 unavailable.

 --
 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.




-- 
http://about.me/david.mora

-- 
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: A difficult app engine optimisation problem - selecting distinct entities across a large table

2011-02-14 Thread Calvin
Can you do filtering in memory?

This query would give you all of the journeys for a list of cars within the 
date range:
carlist = ['123','333','543','753','963','1236']
start_date = datetime.datetime(2011, 1, 30)
end_date = datetime(2011, 2, 10)

journeys = Journey.all().filter('start ', start_date).filter('start ', 
end_date).filter('car IN', carlist).order('-start').fetch(100)
len(journeys)
43 # - since it's less than 100 I know I've gotten them all

then since the list is sorted I know the first entry per car is the most 
recent journey:

results = {}
for journey in journeys:
...   if journey.car in results:
... continue
...   results[journey.car] = journey

len(results)
6

for result in results.values():
...   print(%s : %s % (result.car, result.start))
753 : 2011-02-09 12:38:48.887976
1236 : 2011-02-06 13:59:35.221003
963 : 2011-02-08 14:03:54.587609
333 : 2011-02-09 10:40:09.466700
543 : 2011-02-09 15:28:53.197123
123 : 2011-02-09 14:09:02.680870


-- 
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] QueueConstants.maxTaskSizeBytes()

2011-02-14 Thread Matija Jerković
There is not problem with task payload size. I only need to know exactly what
is limit. For me it is same to test if (task.length  maxTaskSizeBytes()) or
if (task.length  1). I am using Vince Bonfanti's slightly modified
Deferred class and if task payload size is above maxTaskSizeBytes() it is
stored in datastore. But task enqueue is preferred operation instead of
datastore store and delete statement.

Matija.

On Mon, Feb 14, 2011 at 6:12 PM, Robert Kluin robert.kl...@gmail.comwrote:

 Hi Matija,
  The maximum task payload size is 10k.

 http://code.google.com/appengine/docs/java/taskqueue/overview.html#Quotas_and_Limits

  Try to compress your data or find a more efficient serialization
 method -- or both.  In Python I use bzip to compress 'large' payloads.


 Robert






 On Mon, Feb 14, 2011 at 09:51, Matija matija.jerko...@gmail.com wrote:
  What is exact meaning of this value: MAX_TASK_SIZE_BYTES = 10240
  I don't know if this was new issue with 1.4.2 or simply my
  misunderstanding.
  Does this means max task payload or something else ? If it is something
 else
  what is then max_task_payload_size and how can I calculate it ?
  I want to enqueue task with 10192 bytes payload size and gae
  throws java.lang.IllegalArgumentException: Task size too large
 
  --
  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.



-- 
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] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table

2011-02-14 Thread Stephen Johnson
Are you using .asList (which I think blocks like you describe), but I
thought asIterable or asIterator wasn't suppose to. (if you're using Java).

On Mon, Feb 14, 2011 at 12:38 PM, Edward Hartwell Goose
ed.go...@gmail.comwrote:

 Hi Calvin  Stephen,

 Thanks for the ideas.

 Calvin:
 We can't do the filtering in memory. We potentially have a car making
 a journey (the car analogy isn't so good...) making a journey every 3
 seconds, and we could have up to 2,000 cars.

 We need to be able to look back up to 2 months, so it could be up to
 1.8 billion rows in this table.

 Stephen:
 That's an interesting idea. However the Asynchronous api actually
 fires the requests synchronously, it just doesn't block. (Or at least,
 that's my experience).

 So, at the moment we fire off 1 query (which Google turns into 2) for
 each site. And although the method call returns instantly, it still
 takes ~5 seconds in total with basic test data. If each call takes
 12ms, we still have to wait 24 seconds for 2,000 sites.

 So, the first call starts at time 0, the second call starts at 0+12,
 the third at 0+12+12... etc. With 2,000 sites, this works out about 24
 seconds. Once you've added in the overheads and getting the list of
 Cars in the first place, it's too long.

 If we could start even 100 queries at the same time of time 0, that'd
 be superb. We thought we could do it with multithreading, but that's
 not allowed on App Engine.

 Finally - I've also posted this on StackOverflow -

 http://stackoverflow.com/questions/4993744/selecting-distinct-entities-across-a-large-google-app-engine-table/4994494#4994494

 I'll try and keep both updated.

 Any more thoughts welcome!
 Ed

 On Feb 14, 6:47 pm, Calvin calvin.r...@gmail.com wrote:
  Can you do filtering in memory?
 
  This query would give you all of the journeys for a list of cars within
 the
  date range:
  carlist = ['123','333','543','753','963','1236']
  start_date = datetime.datetime(2011, 1, 30)
  end_date = datetime(2011, 2, 10)
 
  journeys = Journey.all().filter('start ', start_date).filter('start ',
  end_date).filter('car IN', carlist).order('-start').fetch(100)
  len(journeys)
  43 # - since it's less than 100 I know I've gotten them all
 
  then since the list is sorted I know the first entry per car is the most
  recent journey:
 
  results = {}
  for journey in journeys:
  ...   if journey.car in results:
  ... continue
  ...   results[journey.car] = journey
 
  len(results)
  6
 
  for result in results.values():
  ...   print(%s : %s % (result.car, result.start))
  753 : 2011-02-09 12:38:48.887976
  1236 : 2011-02-06 13:59:35.221003
  963 : 2011-02-08 14:03:54.587609
  333 : 2011-02-09 10:40:09.466700
  543 : 2011-02-09 15:28:53.197123
  123 : 2011-02-09 14:09:02.680870

 --
 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.



Re: [google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table

2011-02-14 Thread Stephen Johnson
Or maybe it blocks on different result sets just not on getting the next
fetch block?? Hmmm. Sounds like a tough problem.

On Mon, Feb 14, 2011 at 2:09 PM, Stephen Johnson onepagewo...@gmail.comwrote:

 Are you using .asList (which I think blocks like you describe), but I
 thought asIterable or asIterator wasn't suppose to. (if you're using Java).


 On Mon, Feb 14, 2011 at 12:38 PM, Edward Hartwell Goose 
 ed.go...@gmail.com wrote:

 Hi Calvin  Stephen,

 Thanks for the ideas.

 Calvin:
 We can't do the filtering in memory. We potentially have a car making
 a journey (the car analogy isn't so good...) making a journey every 3
 seconds, and we could have up to 2,000 cars.

 We need to be able to look back up to 2 months, so it could be up to
 1.8 billion rows in this table.

 Stephen:
 That's an interesting idea. However the Asynchronous api actually
 fires the requests synchronously, it just doesn't block. (Or at least,
 that's my experience).

 So, at the moment we fire off 1 query (which Google turns into 2) for
 each site. And although the method call returns instantly, it still
 takes ~5 seconds in total with basic test data. If each call takes
 12ms, we still have to wait 24 seconds for 2,000 sites.

 So, the first call starts at time 0, the second call starts at 0+12,
 the third at 0+12+12... etc. With 2,000 sites, this works out about 24
 seconds. Once you've added in the overheads and getting the list of
 Cars in the first place, it's too long.

 If we could start even 100 queries at the same time of time 0, that'd
 be superb. We thought we could do it with multithreading, but that's
 not allowed on App Engine.

 Finally - I've also posted this on StackOverflow -

 http://stackoverflow.com/questions/4993744/selecting-distinct-entities-across-a-large-google-app-engine-table/4994494#4994494

 I'll try and keep both updated.

 Any more thoughts welcome!
 Ed

 On Feb 14, 6:47 pm, Calvin calvin.r...@gmail.com wrote:
  Can you do filtering in memory?
 
  This query would give you all of the journeys for a list of cars within
 the
  date range:
  carlist = ['123','333','543','753','963','1236']
  start_date = datetime.datetime(2011, 1, 30)
  end_date = datetime(2011, 2, 10)
 
  journeys = Journey.all().filter('start ', start_date).filter('start ',
  end_date).filter('car IN', carlist).order('-start').fetch(100)
  len(journeys)
  43 # - since it's less than 100 I know I've gotten them all
 
  then since the list is sorted I know the first entry per car is the most
  recent journey:
 
  results = {}
  for journey in journeys:
  ...   if journey.car in results:
  ... continue
  ...   results[journey.car] = journey
 
  len(results)
  6
 
  for result in results.values():
  ...   print(%s : %s % (result.car, result.start))
  753 : 2011-02-09 12:38:48.887976
  1236 : 2011-02-06 13:59:35.221003
  963 : 2011-02-08 14:03:54.587609
  333 : 2011-02-09 10:40:09.466700
  543 : 2011-02-09 15:28:53.197123
  123 : 2011-02-09 14:09:02.680870

 --
 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] advice on how to send mails to addresses on vtext.com domain

2011-02-14 Thread Sandeep Arneja
Hello

I am trying to send email to phonenum...@vtext.com using google app
enigne. My problem is that GAE adds a return-path header to all
outgoing mail which can not be overridden. Verizon on the other hand
displays the value of the return-path header as the from address.

This creates all sorts of problems, but primarily users can not
respond to my messages as the response will go, if it does go
anywhere, to the bounce back address GAE puts in the return-path
header.

Is there a way to prevent addition of the return path header or
prevent Verizon from showing the wrong value in the from field?

I am also considering to use a different mail service to send messages
from my application hosted on GAE. Now I know GAE prevents me from
using a different SMTP server but i could still use some sought of a
web-service/url to send mails out.

Are there any recommendations on which external mail service provider
I could use which wouldn't have similar problems and has a web-service/
url to send mails?

Thank You Sandeep

-- 
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: A difficult app engine optimisation problem - selecting distinct entities across a large table

2011-02-14 Thread nickmilon
I have faced same kind of problem some time ago.
I tried some of the solutions suggested here (in memory sort and
filtering, encoding things into keys etc. and I have benchmarked those
for both latency and cpu cycles using some test data around 100K
entities)
An other approach I have taken is encoding the date as an integer (day
since start of epoch or day since start of year, same for hour of day
or month depending on how much detail you need in your output) and
saving this into a property. This way you turn your date query filter
into an equality only filter which does not even needs to specify an
index) then you can sort or filter on other properties.
Benchmarking the latest solution I have found that when the filtered
result set is a small fraction of the unfiltered original set, is  1+
order of magnitude faster and cpu-eficient. Worst case when no
reduction of the result set due to filtering the latency and cpu usage
was comparable to the previous solutions)

Hope this helps, or did I missed something ?
Happy coding-:)

On Feb 14, 11:51 pm, Stephen Johnson onepagewo...@gmail.com wrote:
 Okay I think I got something that might work. Reverse the StartDate and
 CarId for the key from what I said above so the key would look like this:
 2011:02:14:17:13:33:123 and the KEYS ONLY query then is:

 select __key__ where __key__ = MAKEKEY(StartDate + CarId)  __key__ =
 MAKEKEY(EndDate + CarId) order by __key__ DESC

 Now, you can use the Async query to start processing. You're going to get
 entries that you're not interested in but you're only getting the key field
 back and not the whole CarJourney entry and this key/id has the Date and Car
 ID, so the first time you hit a Car ID for each Car then you have the ID for
 the latest CarJourney for that car. Now, once you've found all car ID's your
 looking for you can abort the query or you'll reach the end of the query
 results. Now, as you're looping, store the KEYs of the entries your looking
 for and then do a batch GET on memcache to retrieve as many Car (you've got
 the car id) and CarJourney (you've got the carjourney id) entries that might
 be stored there and then for any that you didn't get from memcache, you can
 do a batch GET on the datastore using the keys/ids that you have.

 I think that if you memcache things appropriately and use the batch gets for
 memcache and datastore then this might just work for you.

 Let me know what you think. It's an interestng problem,
 Stephen

 On Mon, Feb 14, 2011 at 2:12 PM, Stephen Johnson 
 onepagewo...@gmail.comwrote:







  Or maybe it blocks on different result sets just not on getting the next
  fetch block?? Hmmm. Sounds like a tough problem.

  On Mon, Feb 14, 2011 at 2:09 PM, Stephen Johnson 
  onepagewo...@gmail.comwrote:

  Are you using .asList (which I think blocks like you describe), but I
  thought asIterable or asIterator wasn't suppose to. (if you're using Java).

  On Mon, Feb 14, 2011 at 12:38 PM, Edward Hartwell Goose 
  ed.go...@gmail.com wrote:

  Hi Calvin  Stephen,

  Thanks for the ideas.

  Calvin:
  We can't do the filtering in memory. We potentially have a car making
  a journey (the car analogy isn't so good...) making a journey every 3
  seconds, and we could have up to 2,000 cars.

  We need to be able to look back up to 2 months, so it could be up to
  1.8 billion rows in this table.

  Stephen:
  That's an interesting idea. However the Asynchronous api actually
  fires the requests synchronously, it just doesn't block. (Or at least,
  that's my experience).

  So, at the moment we fire off 1 query (which Google turns into 2) for
  each site. And although the method call returns instantly, it still
  takes ~5 seconds in total with basic test data. If each call takes
  12ms, we still have to wait 24 seconds for 2,000 sites.

  So, the first call starts at time 0, the second call starts at 0+12,
  the third at 0+12+12... etc. With 2,000 sites, this works out about 24
  seconds. Once you've added in the overheads and getting the list of
  Cars in the first place, it's too long.

  If we could start even 100 queries at the same time of time 0, that'd
  be superb. We thought we could do it with multithreading, but that's
  not allowed on App Engine.

  Finally - I've also posted this on StackOverflow -

 http://stackoverflow.com/questions/4993744/selecting-distinct-entitie...

  I'll try and keep both updated.

  Any more thoughts welcome!
  Ed

  On Feb 14, 6:47 pm, Calvin calvin.r...@gmail.com wrote:
   Can you do filtering in memory?

   This query would give you all of the journeys for a list of cars within
  the
   date range:
   carlist = ['123','333','543','753','963','1236']
   start_date = datetime.datetime(2011, 1, 30)
   end_date = datetime(2011, 2, 10)

   journeys = Journey.all().filter('start ', start_date).filter('start
  ',
   end_date).filter('car IN', carlist).order('-start').fetch(100)
   len(journeys)
   43 # - since it's less than 100 I know I've gotten them all

   

Re: [google-appengine] Re: A difficult app engine optimisation problem - selecting distinct entities across a large table

2011-02-14 Thread Robert Kluin
Hi Ed,
  I think Stephen's most recent idea (key name as date + car id) might
work well.  I have a suggestion that is somewhat similar to Nick's
idea.

  How wide and variable is the query window?  How variable are the
occurrences of car journey data?  Once a car starts having journeys,
will it continue having journeys for a (relatively) long time?  You
said there would be up to 2,000 cars, are new cars frequently
introduced and old cars removed?

  Depending on those questions, perhaps you could build your own
index.  Think about an entity that stores a (non-indexed) list of cars
/ car journeys.  If you make the key_name for that entity lower
resolution than the start time, you store the most recent journey for
each car.  If you construct these entities properly, then you could
easily build a list of the keys needed to completely enclose a
particular query window by fetching a small number of these lists.  If
you also create higher-level groups, you can also efficiently query
over very large periods of time.

  The key names might look something like:
   201102151430:  15 Feb 2011 14:30:  Journeys that occurred between
14:25 and 14:30.
   2011021514:  15 Feb 2011 14: Journeys that occurred from 13:01 to 14:00
   20110215:  15 Feb 2011: Journeys that occurred on 15 Feb 2011
   etc...

  You might use a list of tuples on the entity that stores the car id,
journey id, and start time.  That will allow you to efficiently fetch
the cars and the journeys and correctly combine and filter the results
in memory  when you need more than one index entity.

  You would need to construct the key names based on your query
windows.  With some planning, the technique work very well even for
'continuous' query windows that are highly variable in size.  I've
used this technique for reporting and am very pleased with it.  It is
also relatively easy to implement.  You just need a background process
that maintains your indexes, it can be (almost) real-time or an
offline background process.


Robert



On Mon, Feb 14, 2011 at 18:53, nickmilon nickmi...@gmail.com wrote:
 I have faced same kind of problem some time ago.
 I tried some of the solutions suggested here (in memory sort and
 filtering, encoding things into keys etc. and I have benchmarked those
 for both latency and cpu cycles using some test data around 100K
 entities)
 An other approach I have taken is encoding the date as an integer (day
 since start of epoch or day since start of year, same for hour of day
 or month depending on how much detail you need in your output) and
 saving this into a property. This way you turn your date query filter
 into an equality only filter which does not even needs to specify an
 index) then you can sort or filter on other properties.
 Benchmarking the latest solution I have found that when the filtered
 result set is a small fraction of the unfiltered original set, is  1+
 order of magnitude faster and cpu-eficient. Worst case when no
 reduction of the result set due to filtering the latency and cpu usage
 was comparable to the previous solutions)

 Hope this helps, or did I missed something ?
 Happy coding-:)

 On Feb 14, 11:51 pm, Stephen Johnson onepagewo...@gmail.com wrote:
 Okay I think I got something that might work. Reverse the StartDate and
 CarId for the key from what I said above so the key would look like this:
 2011:02:14:17:13:33:123 and the KEYS ONLY query then is:

 select __key__ where __key__ = MAKEKEY(StartDate + CarId)  __key__ =
 MAKEKEY(EndDate + CarId) order by __key__ DESC

 Now, you can use the Async query to start processing. You're going to get
 entries that you're not interested in but you're only getting the key field
 back and not the whole CarJourney entry and this key/id has the Date and Car
 ID, so the first time you hit a Car ID for each Car then you have the ID for
 the latest CarJourney for that car. Now, once you've found all car ID's your
 looking for you can abort the query or you'll reach the end of the query
 results. Now, as you're looping, store the KEYs of the entries your looking
 for and then do a batch GET on memcache to retrieve as many Car (you've got
 the car id) and CarJourney (you've got the carjourney id) entries that might
 be stored there and then for any that you didn't get from memcache, you can
 do a batch GET on the datastore using the keys/ids that you have.

 I think that if you memcache things appropriately and use the batch gets for
 memcache and datastore then this might just work for you.

 Let me know what you think. It's an interestng problem,
 Stephen

 On Mon, Feb 14, 2011 at 2:12 PM, Stephen Johnson 
 onepagewo...@gmail.comwrote:







  Or maybe it blocks on different result sets just not on getting the next
  fetch block?? Hmmm. Sounds like a tough problem.

  On Mon, Feb 14, 2011 at 2:09 PM, Stephen Johnson 
  onepagewo...@gmail.comwrote:

  Are you using .asList (which I think blocks like you describe), but I
  thought asIterable or asIterator wasn't 

Re: [google-appengine] _AE_DatastoreAdmin_Operation Entities active_jobs

2011-02-14 Thread Robert Kluin
Hi James,
  Check your logs and task-queue.  Are there tasks that are failing?
Are you actively adding data to the kinds you're trying to delete?

  If you're done running jobs, deleting the
_AE_DatastoreAdmin_Operation entities should not hurt anything.


Robert






On Mon, Feb 14, 2011 at 11:34, James Gilliam jimgill...@gmail.com wrote:
 I used the datastore admin feature to delete all of my entities ... it fires
 off one job for each entity ... some of the jobs end quickly and others
 never end ... days later, it still shows active_jobs outstanding ... not
 sure what to do about it ... ?
 also, the datastore shows the table _AE_DatastoreAdmin_Operation as an
 entity with rows and was wondering if i should delete those as well ... ?

 --
 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.



Re: [google-appengine] Convert an App from MS to HR

2011-02-14 Thread Robert Kluin
Just a note: you won't be able to reclaim the app id if you delete it.
 If you want to keep the app-id, I'd wait until Ikai (or another
googler) responds with a solution.

Also, there is an IRC office hour this Wednesday at  9AM PST.  If you
haven't heard from them by then, you might pop in and try to catch one
of them.




Robert






On Tue, Feb 15, 2011 at 00:13, Brandon Wirtz drak...@digerat.com wrote:
 So I have my code running on HR now, instead of MS, and have about 10 apps I
 need to switch.   My question is, is there a way to do this from the
 dashboard or somewhere else?



 If not, is there a good way to delete an app, and reclaim my app name
 after?  Do I have to wait the 72 hours?



 I am leaning towards, Deploy to a temp app, delete the old app, wait 72
 hours, reinstate the old app but saying HR instead of MS.   But I don’t yet
 know if I can still get my name back after deleting, or if when I set the
 app up again if it will ask me HR or MS.



 Any recommendations?



 --
 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.



RE: [google-appengine] Convert an App from MS to HR

2011-02-14 Thread Brandon Wirtz
That's very good to know.  It won't be the end of the world to rename... but
I get some traffic via the appname.appspot.com url, and it would be nice to
keep.

By the way, it could be my imagination, I haven't been running long enough
to tell, but I swear Memcache is faster on HR, (or something is) because my
hits are faster on HR than they were on MS even if my misses are slower
(which they don't seem to be by much).


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Robert Kluin
Sent: Monday, February 14, 2011 9:35 PM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Convert an App from MS to HR

Just a note: you won't be able to reclaim the app id if you delete it.
 If you want to keep the app-id, I'd wait until Ikai (or another
googler) responds with a solution.

Also, there is an IRC office hour this Wednesday at  9AM PST.  If you
haven't heard from them by then, you might pop in and try to catch one of
them.




Robert






On Tue, Feb 15, 2011 at 00:13, Brandon Wirtz drak...@digerat.com wrote:
 So I have my code running on HR now, instead of MS, and have about 10 
 apps I need to switch.   My question is, is there a way to do this 
 from the dashboard or somewhere else?



 If not, is there a good way to delete an app, and reclaim my app name 
 after?  Do I have to wait the 72 hours?



 I am leaning towards, Deploy to a temp app, delete the old app, wait 
 72 hours, reinstate the old app but saying HR instead of MS.   But I 
 don’t yet know if I can still get my name back after deleting, or if 
 when I set the app up again if it will ask me HR or MS.



 Any recommendations?



 --
 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.


-- 
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] Google Apps Engine IP Address

2011-02-14 Thread PlayBaaju
Hello - I am having an app developed which accesses a third party API and 
they require me to provide my server IP address to validate the calls.

Does google apps engine provide a static IP address? As its always creating 
some issues. When we ping the server we get 72.14.194.49 but this week the 
IP addresses are not matching...

Kind Regards
PlayBaaju
   

-- 
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: LIFO key name strategy?

2011-02-14 Thread Julian Namaro
I am not sure about the mathematics of it, but intuitively there is no
perfect algorithm for constructing timestamps in a reverse
lexicographical ordering, because adding a character to a string will
always make it lexicographically superior.

But I noticed the mapreduce library just pick a ridiculously future
time and go in reverse order from there:
http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/model.py#190

The library also add a random string to reduce the chance of
duplicates, maybe that can be replaced by an UUID if you're really
concerned by uniqueness.



On Feb 14, 5:57 am, Joseph Letness joe.letn...@gmail.com wrote:
 Hi Calvin and Robert, thanks for your replies.  I should have been
 more clear about what I am doing, here is some more info:

 Calvin, thanks for the link to Ikai's blog post, I haven't seen that
 one and it was very interesting.

 Robert, here are specific answers to your questions:

 Why do you say:  I can't use a composite index since it would explode with 
 my use case?

 I'm using Brett Slatkin's Relation Index method of building and
 querying set memberships (Google I/O 2009 - Building Scalable, Complex
 Apps on App Engine).  According to Brett, using a composite index on
 this kind would cause explosion, so any ordering of results will need
 to be done in-memory during the request. If the sort order is
 immutable, sorted key names can be used to order results based on the
 their lexicographical position.

 Since a creation timestamp is immutable data, I figured that using
 lexicographic key names would be the way to go.

 What would be fine if you could handle your entire result set in one 
 request?

 Ordering the result set in-memory.

 What are you trying to do?

 The app is a digital-asset manager.  Users need to be able to query a
 set (using the relation index method) and have the results return the
 most recent additions first.  The result set could easily be a few
 thousand, so I want to use cursor-pagination to display the results
 which would preclude any in-memory ordering.

 (I'm actually refactoring my existing app that I use to manage/deliver
 graphic assets to my clients so that they can add their own data.)

 Is there a single global LIFO stack, or are there multiple stacks?

 The entities are all of the same kind, however, LIFO behavior is
 localized to individual user groups.

 How are new items added to the stack(s)?,  What is the addition rate?

 Just one item per user request.  User groups would be just a few
 individual users probably less than twenty. The rate per group would
 be so low that chances of contention on any sort of accumulator would
 be almost nonexistent.

 Is there a requirement that the items are precisely ordered or are some (or 
 small) mis-orderings acceptable?

 Precision is NOT critical.  Close approximation of chronology is just
 fine.

 --The auto-generated ids are not strictly increasing

 I did not know that.  Thanks!

 --Using the current time may also be problematic since the machines
 will have slight variations, and in some cases significant variations.

 I was aware of that, but since absolute precision is not necessary I
 could still use the timestamp as an accumulator if there is some thing
 as an inverse-timestamp algorithm!?!?

 So...

 After spending some more time thinking about this, here is what I plan
 to do:

 Create a counter model kind that is created with an IntegerProperty
 starting value of ten billion (I'd like to see somebody reach the
 bottom of that!). Give each user group it's own counter and de-count
 the values in a transaction (or not, it might be simpler to dismiss
 contention and write a handler that ensures uniqueness of the key name
 but maintains approximate lexicographic position).  When the counter
 value is read, convert the value to a padded string and concatenate it
 with the user group name and a leading lowercase letter (k999836/
 usergroupname) and use that as the key name for the new asset.

 Furthermore, it occurred to me that as a result set is reduced to a
 manageable in-memory size, I could test for the length of results and
 offer the user the ability to custom order their results (asset name
 alphanumeric or asset kind, for example).  Just a thought.

 Thanks again for the replies, If anyone thinks there is a better
 approach please let me know, I kind of make this stuff up as I go
 along..

 --Joe

 On Feb 12, 10:52 pm, Robert Kluin robert.kl...@gmail.com wrote:

  Hi Joe,
    What are you actually trying to do?  Is there a single global LIFO
  stack, or are there multiple stacks?  How are new items added to the
  stack(s)?  In batches to one stack at a time, batches across stacks?
  What is the addition rate?  How are items removed / processed from the
  stack(s)?  Is there a requirement that the items are precisely ordered
  or are some (or small) mis-orderings acceptable?

    Why do you say:  I can't use a composite index since it 

RE: [google-appengine] Google Apps Engine IP Address

2011-02-14 Thread Brandon Wirtz
You will need to use a proxy, for a lot of reasons.  The IP of Fetch
changes,  but also because if I fetch, and you fetch we may both fetch from
the same IP.  Which is why doing a fetch from GAE to Amazon and several
other places often results in sadness.

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of PlayBaaju
Sent: Monday, February 14, 2011 9:57 PM
To: google-appengine@googlegroups.com
Subject: [google-appengine] Google Apps Engine IP Address

 

Hello - I am having an app developed which accesses a third party API and
they require me to provide my server IP address to validate the calls.

 

Does google apps engine provide a static IP address? As its always creating
some issues. When we ping the server we get 72.14.194.49 but this week the
IP addresses are not matching...

 

Kind Regards

PlayBaaju

-- 
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] Delivering SVG dynamically (through XFORMS)

2011-02-14 Thread David French
I am exploring SVG and XFORMS  based on the example from the XFORMS 
wikibookhttp://en.wikibooks.org/wiki/XForms/SVG and 
XSLTFORMS as the client side XFORMS 'engine'.
This example works fine locally using the app engine launcher with svg files 
being rendered as expected within the Chrome browser, but the deployed 
application delivers a working XFORM but no SVG images.
The files are all handled as static in this example so I guess that 
something is going awry with the mime type. Set to image/svg+xml in the 
relevant XFORM.
xf:output id=svgimg value=xf:serialize(instance('inlinesvg')) 
mediatype=image/svg+xml/

If I just reference the svg files directly from the server (eg 
soundings01.appspot.com/xsltforms/svg/Wii.svg) then the file is offered as a 
download not as a rendered  image on browser (Chrome) but if I open the 
local file in the browser it renders the image as expected.


-- 
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.



wikisvg.xml
Description: XML document