jijo-paulose / gwtupload

Automatically exported from code.google.com/p/gwtupload
Other
0 stars 0 forks source link

gwtupload-0.7-SNAPSHOT bugs #122

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I found several bugs in lates snapashot:

1. When I try to upload file on gae using BlobstoreUploadAction exception is 
thrown (same as discussed here - 
http://groups.google.com/group/gwtupload/browse_thread/thread/6e3f14ba7cabb4e2),
 but blob is saved correctly: 

/_ah/upload/agZjLXNob3ByHQsSFV9fQmxvYlVwbG9hZFNlc3Npb25fXxjLpgEM
java.lang.NullPointerException
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet.handleUpload(UploadBlobServlet.java:377)
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet.access$000(UploadBlobServlet.java:69)
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet$1.run(UploadBlobServlet.java:109)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet.doPost(UploadBlobServlet.java:106)
    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.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66)
    at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

---

2. UploadServlet.isAppEngine() returns false on localhost developing. Personaly 
I do not think that it is good practise to test app engine restrictions by 
creating temporary file (Im using GAE 1.5.4 and GWT 2.4.0) 

---

3. Why there is a restriction to DEFAULT_REQUEST_SIZE = 3144704? Blobstore can 
be bigger according to this page: 
http://code.google.com/appengine/docs/java/blobstore/overview.html

Original issue reported on code.google.com by pohore...@comvai.com on 23 Sep 2011 at 1:48

GoogleCodeExporter commented 9 years ago
Where is the 0.7-SNAPSHOT release?
Isn't anymore open-source this project? I don't find anything in the SVN ..

Original comment by DoctorMi...@gmail.com on 30 Sep 2011 at 4:03

GoogleCodeExporter commented 9 years ago
Hmm. I could not find 0.7-SNAPSHOT again. But these bugs appears in latest 
version as well.

Original comment by pettr...@gmail.com on 30 Sep 2011 at 6:17

GoogleCodeExporter commented 9 years ago
I also have an issue where I'm using app engine locally and isAppEngine is 
returning false.

Original comment by j.casey....@gmail.com on 22 Oct 2011 at 5:58

GoogleCodeExporter commented 9 years ago
Notes:
For test if appEngine is running localy use this:
if ( SystemProperty.environment.value() == 
SystemProperty.Environment.Value.Production )
{
     // The app is running on App Engine...
}
else
     // The app is running on localhost  
}

NullPointerException is GAE bug, not gwt-upload bug.. Sorry for that :)

Original comment by pohorele...@gmail.com on 22 Oct 2011 at 7:55

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r940.

Original comment by manuel.carrasco.m on 9 Nov 2011 at 8:08

GoogleCodeExporter commented 9 years ago
0.7 version does not exist, may be we could change the version in the pom file 
and deploy an erroneous snapshot. All code in gwtupload is public and is in 
this repo.

isAppEngine means if the servlet is running in a GAE environment (local or 
production) so the comment #4 approach can not be used. Anyway now gwtupload 
servlets return whether they are designed for GAE or not.

Limitation in blob servlet has been removed, so you can use web.xml if you 
wanted to restrict it or you do not have an appropriate billing account.

Original comment by manuel.carrasco.m on 9 Nov 2011 at 8:12