Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-12-04 Thread Max Ross (Google)
We're using the UrlFetchService to invoke the task URL, and the local
implementation of UrlFetchService times out after 5 seconds.  For task
execution the timeout should instead be 30 seconds.  I'll get a fix
together, but in practice the timeout shouldn't actually impact the
completion of the task.  UrlFetchService will timeout but the task should
still finish running.

Thanks,
Max

On Fri, Dec 4, 2009 at 7:06 AM, Vince Bonfanti vbonfa...@gmail.com wrote:

 Hi Max,

 Yes, it works. Thanks very much.

 Vince

 P.S. While step-debugging a task, I noticed that they seem to time-out very
 quickly--within about 5 seconds. Is this intentional? Here's a partial
 stacktrace:

 Dec 4, 2009 3:03:58 PM com.google.appengine.api.labs.taskqueue.dev.DevQueue
 runTask
 SEVERE: Exception executing task 24b5a6e4-c327-4bc6-bc4f-51f838f3d1a5 on
 queue write-behind-task
 com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError:
 5: http method GET against URL
 http://127.0.0.1:8080/_ah/queue/write-behind-task?watchdog=839445f1-2c77-4c2c-bf32-81b88d5e092etimed
  out.
  at
 com.google.appengine.api.urlfetch.dev.LocalURLFetchService.fetch(LocalURLFetchService.java:214)
 at
 com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:53)
  at
 com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:46)
 at
 com.google.appengine.api.labs.taskqueue.dev.DevQueue.runTask(DevQueue.java:221)
  at
 com.google.appengine.api.labs.taskqueue.dev.LocalTaskQueue.runTask(LocalTaskQueue.java:313)

 On Thu, Dec 3, 2009 at 7:01 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Vince,

 We added a last minute fix for this in the SDK that just went out.  Could
 you please try your code with the official SDK download?

 Thanks,
 Max


 On Thu, Dec 3, 2009 at 12:15 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Sure, sorry for the trouble, and thanks for trying out the prerelease!

 Max


 On Thu, Dec 3, 2009 at 12:12 PM, Vince Bonfanti vbonfa...@gmail.comwrote:

 That fixed it. Thanks.

 Vince


 On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Vince,

 As a workaround, try setting the missing environment attribute
 explicitly before you add the task to the queue:

 ApiProxy.getCurrentEnvironment().getAttributes().put(com.google.appengine.server_url_key,
 http://localhost:8080;);

 This should only be necessary for tasks that are added when there is no
 live request and it should have no impact in prod.

 Sorry for the trouble,
 Max


 On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Hi Vince,

 That sounds like a bug in our code that was a side effect of the
 automatic task execution that now happens in the dev environment.  Let me
 see if I can come up with a workaround for you.

 Max

 On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti 
 vbonfa...@gmail.comwrote:

 I just started testing with the 1.2.8 prerelease, and I'm getting the
 following exception from Queue.add() in code that works in 1.2.6:

 java.lang.IllegalStateException: Current enviornment must have the
 server url available via the com.google.appengine.server_url_key 
 attribute.

 This only happens when Queue.add() is invoked from the servlet init()
 method or from a static initializer; if Queue.add() is invoked from a
 regular request thread, then it works properly.

 Vince


 On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) 
 ika...@google.comwrote:

 Hello App Engine Developers,

 As part of our ongoing efforts to improve release quality and
 transparency, we will start prereleasing SDKs for early testing. We
 hope this gives developers a chance to participate in our release
 process by trying out new changes and sending feedback. As of this
 morning, the prerelease SDK for our next release, 1.2.8, is
 available
 in the familiar download location (note that the filename ends in
 'prerelease.zip'):

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

 If you're interested, please download and give it a try locally with
 your favorite App Engine code. Please note that, as a prerelease,
 this
 SDK is not yet supported and still subject to change. Thus, please
 don't take critical dependencies or make substantial changes to
 production apps based on this SDK.

 Importantly, this prerelease is purely for the SDK and is intended
 for
 local testing and development in dev_appserver. The server-side of
 App
 Engine (our production environment) is not at 1.2.8, so deploying
 with
 this SDK is not yet supported. In the future, we might enable a
 complete SDK and server test environment for prereleases.

 A few notes on 1.2.8 in particular - this release is primarily for
 servicing and updates in preparation for some exciting feature
 launches we have in the pipeline. The current release notes (still
 subject to 

Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-12-04 Thread Vince Bonfanti
That's correct--the task still completes successfully even after the timeout
exception shows up in the console window.

Vince

On Fri, Dec 4, 2009 at 5:11 PM, Max Ross (Google)
maxr+appeng...@google.commaxr%2bappeng...@google.com
 wrote:

 We're using the UrlFetchService to invoke the task URL, and the local
 implementation of UrlFetchService times out after 5 seconds.  For task
 execution the timeout should instead be 30 seconds.  I'll get a fix
 together, but in practice the timeout shouldn't actually impact the
 completion of the task.  UrlFetchService will timeout but the task should
 still finish running.

 Thanks,
 Max


 On Fri, Dec 4, 2009 at 7:06 AM, Vince Bonfanti vbonfa...@gmail.comwrote:

 Hi Max,

 Yes, it works. Thanks very much.

 Vince

 P.S. While step-debugging a task, I noticed that they seem to time-out
 very quickly--within about 5 seconds. Is this intentional? Here's a partial
 stacktrace:

 Dec 4, 2009 3:03:58 PM
 com.google.appengine.api.labs.taskqueue.dev.DevQueue runTask
 SEVERE: Exception executing task 24b5a6e4-c327-4bc6-bc4f-51f838f3d1a5 on
 queue write-behind-task
 com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError:
 5: http method GET against URL
 http://127.0.0.1:8080/_ah/queue/write-behind-task?watchdog=839445f1-2c77-4c2c-bf32-81b88d5e092etimed
  out.
  at
 com.google.appengine.api.urlfetch.dev.LocalURLFetchService.fetch(LocalURLFetchService.java:214)
 at
 com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:53)
  at
 com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:46)
 at
 com.google.appengine.api.labs.taskqueue.dev.DevQueue.runTask(DevQueue.java:221)
  at
 com.google.appengine.api.labs.taskqueue.dev.LocalTaskQueue.runTask(LocalTaskQueue.java:313)

 On Thu, Dec 3, 2009 at 7:01 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Vince,

 We added a last minute fix for this in the SDK that just went out.  Could
 you please try your code with the official SDK download?

 Thanks,
 Max


 On Thu, Dec 3, 2009 at 12:15 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Sure, sorry for the trouble, and thanks for trying out the prerelease!

 Max


 On Thu, Dec 3, 2009 at 12:12 PM, Vince Bonfanti vbonfa...@gmail.comwrote:

 That fixed it. Thanks.

 Vince


 On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Vince,

 As a workaround, try setting the missing environment attribute
 explicitly before you add the task to the queue:

 ApiProxy.getCurrentEnvironment().getAttributes().put(com.google.appengine.server_url_key,
 http://localhost:8080;);

 This should only be necessary for tasks that are added when there is
 no live request and it should have no impact in prod.

 Sorry for the trouble,
 Max


 On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Hi Vince,

 That sounds like a bug in our code that was a side effect of the
 automatic task execution that now happens in the dev environment.  Let 
 me
 see if I can come up with a workaround for you.

 Max

 On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti vbonfa...@gmail.com
  wrote:

 I just started testing with the 1.2.8 prerelease, and I'm getting
 the following exception from Queue.add() in code that works in 1.2.6:

 java.lang.IllegalStateException: Current enviornment must have the
 server url available via the com.google.appengine.server_url_key 
 attribute.

 This only happens when Queue.add() is invoked from the servlet
 init() method or from a static initializer; if Queue.add() is invoked 
 from a
 regular request thread, then it works properly.

 Vince



--

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-j...@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] 1.2.8 SDK Prerelease - help us verify!

2009-12-03 Thread Vince Bonfanti
I just started testing with the 1.2.8 prerelease, and I'm getting the
following exception from Queue.add() in code that works in 1.2.6:

java.lang.IllegalStateException: Current enviornment must have the server
url available via the com.google.appengine.server_url_key attribute.

This only happens when Queue.add() is invoked from the servlet init() method
or from a static initializer; if Queue.add() is invoked from a regular
request thread, then it works properly.

Vince

On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) ika...@google.com wrote:

 Hello App Engine Developers,

 As part of our ongoing efforts to improve release quality and
 transparency, we will start prereleasing SDKs for early testing. We
 hope this gives developers a chance to participate in our release
 process by trying out new changes and sending feedback. As of this
 morning, the prerelease SDK for our next release, 1.2.8, is available
 in the familiar download location (note that the filename ends in
 'prerelease.zip'):

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

 If you're interested, please download and give it a try locally with
 your favorite App Engine code. Please note that, as a prerelease, this
 SDK is not yet supported and still subject to change. Thus, please
 don't take critical dependencies or make substantial changes to
 production apps based on this SDK.

 Importantly, this prerelease is purely for the SDK and is intended for
 local testing and development in dev_appserver. The server-side of App
 Engine (our production environment) is not at 1.2.8, so deploying with
 this SDK is not yet supported. In the future, we might enable a
 complete SDK and server test environment for prereleases.

 A few notes on 1.2.8 in particular - this release is primarily for
 servicing and updates in preparation for some exciting feature
 launches we have in the pipeline. The current release notes (still
 subject to change) are included below; these release notes do include
 changes which will only be available on the server side Admin Console
 (non-local) once 1.2.8 is formally released.

 Please try 1.2.8 for local development and send us your feedback!

 Thanks,

 App Engine Team

 Version 1.2.8
 =
  - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's
 production
servers). If you're using JDK 1.5 with your local dev_appserver,
 you will
need to include the JAXB libraries with your application to use
 it.
  http://code.google.com/p/googleappengine/issues/detail?id=1267
  - Added Quota API (com.google.appengine.api.quota) to match Python
 API.
  - Low-level Memcache API now supports grabTail() and batchIncrement
 ().
  - HTTPResponse object now has getFinalUrl() method for 302
 redirects.
  http://code.google.com/p/googleappengine/issues/detail?id=1464
  - Java Dev Appserver now automatically executes tasks.  If you
 prefer the old
behavior where tasks do not automatically execute you can use the
  -Dtask_queue.disable_auto_task_execution flag when starting the
 server.
  - Additional file extensions permitted when sending mail.
  http://code.google.com/p/googleappengine/issues/detail?id=494
  - Fixed issue with Java mail handler not processing multipart
 messages
correctly.
  - Fixed agent code included in appengine-local-runtime.jar results
 in
RuntimeException.
  http://code.google.com/p/googleappengine/issues/detail?id=2280
  - Fixed issue with sort orders defined on properties that allow
 multiple
values.
  http://code.google.com/p/googleappengine/issues/detail?id=2349
  - Fixed problem with dropped query strings after requiring log-in.
  http://code.google.com/p/googleappengine/issues/detail?id=2225
  - Removed limitation preventing multiple parameters with the same
 name.
  http://code.google.com/p/googleappengine/issues/detail?id=2090
  - Fixed issue with local datastore incorrectly sorting results of
 ancestor queries.
  http://code.google.com/p/googleappengine/issues/detail?id=2177
  - New Index building status page in the Admin Console
  - Task Queue now supports purging queues, and deleting tasks and
 queues via
the Admin Console.
  http://code.google.com/p/googleappengine/issues/detail?id=2159
  http://code.google.com/p/googleappengine/issues/detail?id=1740
  - Over Quota HTTP status code changed from 403 to 503, other to 500.
  - Task Queue now considers all HTTP 2xx status codes to represent
 success.

 ORM Changes

  - Explicitly disallow multiple relationships of the same type
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=154
  - Occasional ArrayOutOfBoundsIndexException
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=156
  - Support inheritance
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=25
  - Support != queries
  - Support IN queries
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=39
  - Inheritance is working for 

Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-12-03 Thread Max Ross (Google)
Hi Vince,

That sounds like a bug in our code that was a side effect of the automatic
task execution that now happens in the dev environment.  Let me see if I can
come up with a workaround for you.

Max
On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti vbonfa...@gmail.com wrote:

 I just started testing with the 1.2.8 prerelease, and I'm getting the
 following exception from Queue.add() in code that works in 1.2.6:

 java.lang.IllegalStateException: Current enviornment must have the server
 url available via the com.google.appengine.server_url_key attribute.

 This only happens when Queue.add() is invoked from the servlet init()
 method or from a static initializer; if Queue.add() is invoked from a
 regular request thread, then it works properly.

 Vince


 On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) ika...@google.comwrote:

 Hello App Engine Developers,

 As part of our ongoing efforts to improve release quality and
 transparency, we will start prereleasing SDKs for early testing. We
 hope this gives developers a chance to participate in our release
 process by trying out new changes and sending feedback. As of this
 morning, the prerelease SDK for our next release, 1.2.8, is available
 in the familiar download location (note that the filename ends in
 'prerelease.zip'):

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

 If you're interested, please download and give it a try locally with
 your favorite App Engine code. Please note that, as a prerelease, this
 SDK is not yet supported and still subject to change. Thus, please
 don't take critical dependencies or make substantial changes to
 production apps based on this SDK.

 Importantly, this prerelease is purely for the SDK and is intended for
 local testing and development in dev_appserver. The server-side of App
 Engine (our production environment) is not at 1.2.8, so deploying with
 this SDK is not yet supported. In the future, we might enable a
 complete SDK and server test environment for prereleases.

 A few notes on 1.2.8 in particular - this release is primarily for
 servicing and updates in preparation for some exciting feature
 launches we have in the pipeline. The current release notes (still
 subject to change) are included below; these release notes do include
 changes which will only be available on the server side Admin Console
 (non-local) once 1.2.8 is formally released.

 Please try 1.2.8 for local development and send us your feedback!

 Thanks,

 App Engine Team

 Version 1.2.8
 =
  - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's
 production
servers). If you're using JDK 1.5 with your local dev_appserver,
 you will
need to include the JAXB libraries with your application to use
 it.
  http://code.google.com/p/googleappengine/issues/detail?id=1267
  - Added Quota API (com.google.appengine.api.quota) to match Python
 API.
  - Low-level Memcache API now supports grabTail() and batchIncrement
 ().
  - HTTPResponse object now has getFinalUrl() method for 302
 redirects.
  http://code.google.com/p/googleappengine/issues/detail?id=1464
  - Java Dev Appserver now automatically executes tasks.  If you
 prefer the old
behavior where tasks do not automatically execute you can use the
  -Dtask_queue.disable_auto_task_execution flag when starting the
 server.
  - Additional file extensions permitted when sending mail.
  http://code.google.com/p/googleappengine/issues/detail?id=494
  - Fixed issue with Java mail handler not processing multipart
 messages
correctly.
  - Fixed agent code included in appengine-local-runtime.jar results
 in
RuntimeException.
  http://code.google.com/p/googleappengine/issues/detail?id=2280
  - Fixed issue with sort orders defined on properties that allow
 multiple
values.
  http://code.google.com/p/googleappengine/issues/detail?id=2349
  - Fixed problem with dropped query strings after requiring log-in.
  http://code.google.com/p/googleappengine/issues/detail?id=2225
  - Removed limitation preventing multiple parameters with the same
 name.
  http://code.google.com/p/googleappengine/issues/detail?id=2090
  - Fixed issue with local datastore incorrectly sorting results of
 ancestor queries.
  http://code.google.com/p/googleappengine/issues/detail?id=2177
  - New Index building status page in the Admin Console
  - Task Queue now supports purging queues, and deleting tasks and
 queues via
the Admin Console.
  http://code.google.com/p/googleappengine/issues/detail?id=2159
  http://code.google.com/p/googleappengine/issues/detail?id=1740
  - Over Quota HTTP status code changed from 403 to 503, other to 500.
  - Task Queue now considers all HTTP 2xx status codes to represent
 success.

 ORM Changes

  - Explicitly disallow multiple relationships of the same type
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=154
  - Occasional ArrayOutOfBoundsIndexException
  

Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-12-03 Thread Max Ross (Google)
Vince,

As a workaround, try setting the missing environment attribute explicitly
before you add the task to the queue:

ApiProxy.getCurrentEnvironment().getAttributes().put(com.google.appengine.server_url_key,
http://localhost:8080;);

This should only be necessary for tasks that are added when there is no
live request and it should have no impact in prod.

Sorry for the trouble,
Max

On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) 
maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Hi Vince,

 That sounds like a bug in our code that was a side effect of the automatic
 task execution that now happens in the dev environment.  Let me see if I can
 come up with a workaround for you.

 Max

 On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti vbonfa...@gmail.comwrote:

 I just started testing with the 1.2.8 prerelease, and I'm getting the
 following exception from Queue.add() in code that works in 1.2.6:

 java.lang.IllegalStateException: Current enviornment must have the server
 url available via the com.google.appengine.server_url_key attribute.

 This only happens when Queue.add() is invoked from the servlet init()
 method or from a static initializer; if Queue.add() is invoked from a
 regular request thread, then it works properly.

 Vince


 On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) ika...@google.comwrote:

 Hello App Engine Developers,

 As part of our ongoing efforts to improve release quality and
 transparency, we will start prereleasing SDKs for early testing. We
 hope this gives developers a chance to participate in our release
 process by trying out new changes and sending feedback. As of this
 morning, the prerelease SDK for our next release, 1.2.8, is available
 in the familiar download location (note that the filename ends in
 'prerelease.zip'):

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

 If you're interested, please download and give it a try locally with
 your favorite App Engine code. Please note that, as a prerelease, this
 SDK is not yet supported and still subject to change. Thus, please
 don't take critical dependencies or make substantial changes to
 production apps based on this SDK.

 Importantly, this prerelease is purely for the SDK and is intended for
 local testing and development in dev_appserver. The server-side of App
 Engine (our production environment) is not at 1.2.8, so deploying with
 this SDK is not yet supported. In the future, we might enable a
 complete SDK and server test environment for prereleases.

 A few notes on 1.2.8 in particular - this release is primarily for
 servicing and updates in preparation for some exciting feature
 launches we have in the pipeline. The current release notes (still
 subject to change) are included below; these release notes do include
 changes which will only be available on the server side Admin Console
 (non-local) once 1.2.8 is formally released.

 Please try 1.2.8 for local development and send us your feedback!

 Thanks,

 App Engine Team

 Version 1.2.8
 =
  - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's
 production
servers). If you're using JDK 1.5 with your local dev_appserver,
 you will
need to include the JAXB libraries with your application to use
 it.
  http://code.google.com/p/googleappengine/issues/detail?id=1267
  - Added Quota API (com.google.appengine.api.quota) to match Python
 API.
  - Low-level Memcache API now supports grabTail() and batchIncrement
 ().
  - HTTPResponse object now has getFinalUrl() method for 302
 redirects.
  http://code.google.com/p/googleappengine/issues/detail?id=1464
  - Java Dev Appserver now automatically executes tasks.  If you
 prefer the old
behavior where tasks do not automatically execute you can use the
  -Dtask_queue.disable_auto_task_execution flag when starting the
 server.
  - Additional file extensions permitted when sending mail.
  http://code.google.com/p/googleappengine/issues/detail?id=494
  - Fixed issue with Java mail handler not processing multipart
 messages
correctly.
  - Fixed agent code included in appengine-local-runtime.jar results
 in
RuntimeException.
  http://code.google.com/p/googleappengine/issues/detail?id=2280
  - Fixed issue with sort orders defined on properties that allow
 multiple
values.
  http://code.google.com/p/googleappengine/issues/detail?id=2349
  - Fixed problem with dropped query strings after requiring log-in.
  http://code.google.com/p/googleappengine/issues/detail?id=2225
  - Removed limitation preventing multiple parameters with the same
 name.
  http://code.google.com/p/googleappengine/issues/detail?id=2090
  - Fixed issue with local datastore incorrectly sorting results of
 ancestor queries.
  http://code.google.com/p/googleappengine/issues/detail?id=2177
  - New Index building status page in the Admin Console
  - Task Queue now supports purging queues, and deleting tasks and
 queues via
the Admin Console.
  

Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-12-03 Thread Vince Bonfanti
That fixed it. Thanks.

Vince

On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google)
maxr+appeng...@google.commaxr%2bappeng...@google.com
 wrote:

 Vince,

 As a workaround, try setting the missing environment attribute explicitly
 before you add the task to the queue:

 ApiProxy.getCurrentEnvironment().getAttributes().put(com.google.appengine.server_url_key,
 http://localhost:8080;);

 This should only be necessary for tasks that are added when there is no
 live request and it should have no impact in prod.

 Sorry for the trouble,
 Max


 On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Hi Vince,

 That sounds like a bug in our code that was a side effect of the automatic
 task execution that now happens in the dev environment.  Let me see if I can
 come up with a workaround for you.

 Max

 On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti vbonfa...@gmail.comwrote:

 I just started testing with the 1.2.8 prerelease, and I'm getting the
 following exception from Queue.add() in code that works in 1.2.6:

 java.lang.IllegalStateException: Current enviornment must have the server
 url available via the com.google.appengine.server_url_key attribute.

 This only happens when Queue.add() is invoked from the servlet init()
 method or from a static initializer; if Queue.add() is invoked from a
 regular request thread, then it works properly.

 Vince


 On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) ika...@google.comwrote:

 Hello App Engine Developers,

 As part of our ongoing efforts to improve release quality and
 transparency, we will start prereleasing SDKs for early testing. We
 hope this gives developers a chance to participate in our release
 process by trying out new changes and sending feedback. As of this
 morning, the prerelease SDK for our next release, 1.2.8, is available
 in the familiar download location (note that the filename ends in
 'prerelease.zip'):

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

 If you're interested, please download and give it a try locally with
 your favorite App Engine code. Please note that, as a prerelease, this
 SDK is not yet supported and still subject to change. Thus, please
 don't take critical dependencies or make substantial changes to
 production apps based on this SDK.

 Importantly, this prerelease is purely for the SDK and is intended for
 local testing and development in dev_appserver. The server-side of App
 Engine (our production environment) is not at 1.2.8, so deploying with
 this SDK is not yet supported. In the future, we might enable a
 complete SDK and server test environment for prereleases.

 A few notes on 1.2.8 in particular - this release is primarily for
 servicing and updates in preparation for some exciting feature
 launches we have in the pipeline. The current release notes (still
 subject to change) are included below; these release notes do include
 changes which will only be available on the server side Admin Console
 (non-local) once 1.2.8 is formally released.

 Please try 1.2.8 for local development and send us your feedback!

 Thanks,

 App Engine Team

 Version 1.2.8
 =
  - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's
 production
servers). If you're using JDK 1.5 with your local dev_appserver,
 you will
need to include the JAXB libraries with your application to use
 it.
  http://code.google.com/p/googleappengine/issues/detail?id=1267
  - Added Quota API (com.google.appengine.api.quota) to match Python
 API.
  - Low-level Memcache API now supports grabTail() and batchIncrement
 ().
  - HTTPResponse object now has getFinalUrl() method for 302
 redirects.
  http://code.google.com/p/googleappengine/issues/detail?id=1464
  - Java Dev Appserver now automatically executes tasks.  If you
 prefer the old
behavior where tasks do not automatically execute you can use the
  -Dtask_queue.disable_auto_task_execution flag when starting the
 server.
  - Additional file extensions permitted when sending mail.
  http://code.google.com/p/googleappengine/issues/detail?id=494
  - Fixed issue with Java mail handler not processing multipart
 messages
correctly.
  - Fixed agent code included in appengine-local-runtime.jar results
 in
RuntimeException.
  http://code.google.com/p/googleappengine/issues/detail?id=2280
  - Fixed issue with sort orders defined on properties that allow
 multiple
values.
  http://code.google.com/p/googleappengine/issues/detail?id=2349
  - Fixed problem with dropped query strings after requiring log-in.
  http://code.google.com/p/googleappengine/issues/detail?id=2225
  - Removed limitation preventing multiple parameters with the same
 name.
  http://code.google.com/p/googleappengine/issues/detail?id=2090
  - Fixed issue with local datastore incorrectly sorting results of
 ancestor queries.
  http://code.google.com/p/googleappengine/issues/detail?id=2177
  - New 

Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-12-03 Thread Max Ross (Google)
Sure, sorry for the trouble, and thanks for trying out the prerelease!

Max

On Thu, Dec 3, 2009 at 12:12 PM, Vince Bonfanti vbonfa...@gmail.com wrote:

 That fixed it. Thanks.

 Vince


 On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Vince,

 As a workaround, try setting the missing environment attribute explicitly
 before you add the task to the queue:

 ApiProxy.getCurrentEnvironment().getAttributes().put(com.google.appengine.server_url_key,
 http://localhost:8080;);

 This should only be necessary for tasks that are added when there is no
 live request and it should have no impact in prod.

 Sorry for the trouble,
 Max


 On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) 
 maxr+appeng...@google.com maxr%2bappeng...@google.com wrote:

 Hi Vince,

 That sounds like a bug in our code that was a side effect of the
 automatic task execution that now happens in the dev environment.  Let me
 see if I can come up with a workaround for you.

 Max

 On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti vbonfa...@gmail.comwrote:

 I just started testing with the 1.2.8 prerelease, and I'm getting the
 following exception from Queue.add() in code that works in 1.2.6:

 java.lang.IllegalStateException: Current enviornment must have the
 server url available via the com.google.appengine.server_url_key attribute.

 This only happens when Queue.add() is invoked from the servlet init()
 method or from a static initializer; if Queue.add() is invoked from a
 regular request thread, then it works properly.

 Vince


 On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) ika...@google.comwrote:

 Hello App Engine Developers,

 As part of our ongoing efforts to improve release quality and
 transparency, we will start prereleasing SDKs for early testing. We
 hope this gives developers a chance to participate in our release
 process by trying out new changes and sending feedback. As of this
 morning, the prerelease SDK for our next release, 1.2.8, is available
 in the familiar download location (note that the filename ends in
 'prerelease.zip'):

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

 If you're interested, please download and give it a try locally with
 your favorite App Engine code. Please note that, as a prerelease, this
 SDK is not yet supported and still subject to change. Thus, please
 don't take critical dependencies or make substantial changes to
 production apps based on this SDK.

 Importantly, this prerelease is purely for the SDK and is intended for
 local testing and development in dev_appserver. The server-side of App
 Engine (our production environment) is not at 1.2.8, so deploying with
 this SDK is not yet supported. In the future, we might enable a
 complete SDK and server test environment for prereleases.

 A few notes on 1.2.8 in particular - this release is primarily for
 servicing and updates in preparation for some exciting feature
 launches we have in the pipeline. The current release notes (still
 subject to change) are included below; these release notes do include
 changes which will only be available on the server side Admin Console
 (non-local) once 1.2.8 is formally released.

 Please try 1.2.8 for local development and send us your feedback!

 Thanks,

 App Engine Team

 Version 1.2.8
 =
  - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's
 production
servers). If you're using JDK 1.5 with your local dev_appserver,
 you will
need to include the JAXB libraries with your application to use
 it.
  http://code.google.com/p/googleappengine/issues/detail?id=1267
  - Added Quota API (com.google.appengine.api.quota) to match Python
 API.
  - Low-level Memcache API now supports grabTail() and batchIncrement
 ().
  - HTTPResponse object now has getFinalUrl() method for 302
 redirects.
  http://code.google.com/p/googleappengine/issues/detail?id=1464
  - Java Dev Appserver now automatically executes tasks.  If you
 prefer the old
behavior where tasks do not automatically execute you can use the
  -Dtask_queue.disable_auto_task_execution flag when starting the
 server.
  - Additional file extensions permitted when sending mail.
  http://code.google.com/p/googleappengine/issues/detail?id=494
  - Fixed issue with Java mail handler not processing multipart
 messages
correctly.
  - Fixed agent code included in appengine-local-runtime.jar results
 in
RuntimeException.
  http://code.google.com/p/googleappengine/issues/detail?id=2280
  - Fixed issue with sort orders defined on properties that allow
 multiple
values.
  http://code.google.com/p/googleappengine/issues/detail?id=2349
  - Fixed problem with dropped query strings after requiring log-in.
  http://code.google.com/p/googleappengine/issues/detail?id=2225
  - Removed limitation preventing multiple parameters with the same
 name.
  http://code.google.com/p/googleappengine/issues/detail?id=2090
  - Fixed 

[appengine-java] 1.2.8 SDK Prerelease - help us verify!

2009-11-24 Thread Ikai L (Google)
Hello App Engine Developers,

As part of our ongoing efforts to improve release quality and
transparency, we will start prereleasing SDKs for early testing. We
hope this gives developers a chance to participate in our release
process by trying out new changes and sending feedback. As of this
morning, the prerelease SDK for our next release, 1.2.8, is available
in the familiar download location (note that the filename ends in
'prerelease.zip'):

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

If you're interested, please download and give it a try locally with
your favorite App Engine code. Please note that, as a prerelease, this
SDK is not yet supported and still subject to change. Thus, please
don't take critical dependencies or make substantial changes to
production apps based on this SDK.

Importantly, this prerelease is purely for the SDK and is intended for
local testing and development in dev_appserver. The server-side of App
Engine (our production environment) is not at 1.2.8, so deploying with
this SDK is not yet supported. In the future, we might enable a
complete SDK and server test environment for prereleases.

A few notes on 1.2.8 in particular - this release is primarily for
servicing and updates in preparation for some exciting feature
launches we have in the pipeline. The current release notes (still
subject to change) are included below; these release notes do include
changes which will only be available on the server side Admin Console
(non-local) once 1.2.8 is formally released.

Please try 1.2.8 for local development and send us your feedback!

Thanks,

App Engine Team

Version 1.2.8
=
  - Support for JAXB. JAXB is included in JDK 1.6 (and App Engine's
production
servers). If you're using JDK 1.5 with your local dev_appserver,
you will
need to include the JAXB libraries with your application to use
it.
  http://code.google.com/p/googleappengine/issues/detail?id=1267
  - Added Quota API (com.google.appengine.api.quota) to match Python
API.
  - Low-level Memcache API now supports grabTail() and batchIncrement
().
  - HTTPResponse object now has getFinalUrl() method for 302
redirects.
  http://code.google.com/p/googleappengine/issues/detail?id=1464
  - Java Dev Appserver now automatically executes tasks.  If you
prefer the old
behavior where tasks do not automatically execute you can use the
  -Dtask_queue.disable_auto_task_execution flag when starting the
server.
  - Additional file extensions permitted when sending mail.
  http://code.google.com/p/googleappengine/issues/detail?id=494
  - Fixed issue with Java mail handler not processing multipart
messages
correctly.
  - Fixed agent code included in appengine-local-runtime.jar results
in
RuntimeException.
  http://code.google.com/p/googleappengine/issues/detail?id=2280
  - Fixed issue with sort orders defined on properties that allow
multiple
values.
  http://code.google.com/p/googleappengine/issues/detail?id=2349
  - Fixed problem with dropped query strings after requiring log-in.
  http://code.google.com/p/googleappengine/issues/detail?id=2225
  - Removed limitation preventing multiple parameters with the same
name.
  http://code.google.com/p/googleappengine/issues/detail?id=2090
  - Fixed issue with local datastore incorrectly sorting results of
ancestor queries.
  http://code.google.com/p/googleappengine/issues/detail?id=2177
  - New Index building status page in the Admin Console
  - Task Queue now supports purging queues, and deleting tasks and
queues via
the Admin Console.
  http://code.google.com/p/googleappengine/issues/detail?id=2159
  http://code.google.com/p/googleappengine/issues/detail?id=1740
  - Over Quota HTTP status code changed from 403 to 503, other to 500.
  - Task Queue now considers all HTTP 2xx status codes to represent
success.

ORM Changes

  - Explicitly disallow multiple relationships of the same type
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=154
  - Occasional ArrayOutOfBoundsIndexException
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=156
  - Support inheritance
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=25
  - Support != queries
  - Support IN queries
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=39
  - Inheritance is working for simple fields and embedded fields.
Relationships
in base classes are completely untested and probably do not work.
  - Cannot add child to existing one-to-many if parent has Long or
unencoded String pk
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=28
  - Can't query by embedded fields at depth  1
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=120
  - Positional parameters don't work (JPQL)
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=128
  - Throw JDOCanRetryException when ConcurrentMod hit during txn
commit