Yep, it's the Java docs that say "exclusive". This could just be a
documentation error. We're sorting it out.

On Wed, Mar 31, 2010 at 5:18 AM, jacek.ambroziak
<[email protected]>wrote:

> And in the Java documentation the last index argument is EXCLUSIVE
> as is standard in Java (so that end - start = length)(and so that the
> previous end can
> become start in a loop)
>
> On Mar 31, 12:34 am, Robin B <[email protected]> wrote:
> > The docs do mention the index values are inclusive:
> >
> > http://code.google.com/appengine/docs/python/blobstore/functions.html
> >
> > "Byte indexes are inclusive, with the first byte having an index of 0.
> > For example, a start_index of 9 and an end_index of 19 will return up
> > to 11 bytes, starting from the 10th byte (index 9) in the value."
> >
> > Robin
> >
> > On Mar 30, 5:21 pm, Ikai Lan <[email protected]> wrote:
> >
> >
> >
> > > I've reproduced the off-by-one error. Thanks for bringing this up.
> >
> > > On Mar 27, 8:32 am, "jacek.ambroziak" <[email protected]>
> > > wrote:
> >
> > > > 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)" <[email protected]> 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
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine-java%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to