fetchData is very useful. At the moment its implementation seems to
suffer from an off-by-one bug.
For instance, fetchData(key, 0, 1024) returns an array of length 1025
and
blobstoreService.fetchData(blobKey, 0,
BlobstoreService.MAX_BLOB_FETCH_SIZE)
will, I guess, attempt to read one byte too many and it fails with

  com.google.appengine.api.blobstore.BlobstoreFailureException: An
unexpected error occurred.


On Mar 25, 8:48 pm, "Ikai L (Google)" <ika...@google.com> wrote:
> Check it out!
>
> http://googleappengine.blogspot.com/2010/03/app-engine-sdk-132-releas...
>
> Blog post:
>
> App Engine SDK 1.3.2
> Released<http://googleappengine.blogspot.com/2010/03/app-engine-sdk-132-releas...>
>
> Today we are excited to announce the release of version 1.3.2 of the App
> Engine SDK for both the Java and Python runtimes. 1.3.2 includes a number of
> changes and bug fixes.
>
> For this release, we have concentrated on removing a number of limitations
> that have been affecting developers:
>
>    - Blobstore API - A new method
> (fetch_data<http://code.google.com/appengine/docs/python/blobstore/functions.html>
> for
>    Python, 
> fetchData<http://code.google.com/appengine/docs/java/javadoc/com/google/appengi...>
> for
>    Java) allows your application to request the contents of a Blob from within
>    your application’s code.
>    - URLFetch API - We’ve expanded the number of ports you can access with
>    the URLFetch API. You can now access ports 80-90, 440-450, and 1024-65535.
>    - Mail API - We’ve expanded the allowed mail attachments to include
>    common document extensions including .doc, .ppt, and .xls.
>    - Task Queue API - We’ve increased the maximum total Task Queue refill
>    rate to 50 per second.
>
> We’re also happy to announce, based on your feedback, a new Denial of
> Service (DoS) blocking system in App Engine. This system allows you to
> blacklist specific IP addresses from accessing your application, and to
> prevent them from costing your application money or eating up your quota.
> You can also view the top IPs that have accessed your application in the
> Admin Console, to help you figure out what IPs you may want to block. More
> information on this feature is available for
> Python<http://code.google.com/appengine/docs/python/config/dos.html>
> and Java <http://code.google.com/appengine/docs/java/config/dos.html>.
>
> There’s a lot of other changes and fixes in this release, including a new
> Java version of the Appstats profiling tool, so read the release notes (
> Python <http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes>,
> Java<http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes>)
> for a complete list of changes and download the new versions of the
> SDK<http://code.google.com/appengine/downloads.html>
> .
>
> Release Notes:
>
> Version 1.3.2 - March 25, 2010
>
>    - New API to read the contents of uploaded Blobs (fetch_data)
>    -http://code.google.com/p/googleappengine/issues/detail?id=2536
>
>    - URLFetch now supports accessing ports 80-90, 440-450, and 1024-65535
>    - Mail API now allows common document formats as attachments
>       -http://code.google.com/p/googleappengine/issues/detail?id=494
>    - The Task Queue API now supports adding multiple tasks in a single call
>    to Queue.add()
>    - Fixed charset handling for inbound emails
>       -http://code.google.com/p/googleappengine/issues/detail?id=2326
>    - Fixed issue with compositing background colors in dev_appserver
>    - New feature in the datastore to specify whether to use strong or
>    eventually consistent reads (the default is strong)
>    - New datastore feature allows setting deadlines for operations
>    - Increased the maximum Task Queue refill rate from 20/s to 50/s
>    - Support for IP blacklisting to prevent denial of service (DoS) attacks
>    - Fix an issue with Mac Launcher in Mac OSX 10.5.5
>       -http://code.google.com/p/googleappengine/issues/detail?id=778
>    - Fix issue with slow updates when there are many skipped files
>       -http://code.google.com/p/googleappengine/issues/detail?id=2492
>    - Fix issue with cursor not updating when using a
> GqlQuery?<http://code.google.com/p/googleappengine/w/edit/GqlQuery>
>       -http://code.google.com/p/googleappengine/issues/detail?id=2757
>
> You might also want to note that we've updated the public roadmap:
>
> http://code.google.com/appengine/docs/roadmap.html
>
> Features on Deck
>
>    - SSL for third-party domains
>    - Background servers capable of running for longer than 30s
>    - Ability to reserve instances to reduce application loading overhead
>    - Ability to select different availability vs. latency options for
>    Datastore
>    - Support for mapping operations across datasets
>    - Datastore dump and restore facility
>    - Raise request/response size limits for some APIs
>    - Improved monitoring and alerting of application serving
>    - Support for Browser Push (Comet) communication
>    - Built-in support for OAuth & OpenID
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

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

Reply via email to