Tuesday, December 28, 2010

AppEngine taskName limitations

Are you seeing an exception similar to this one?

java.lang.IllegalArgumentException: Task name does not match expression [a-zA-Z\d-]{1,500}; given taskname: 'agxlbXBvd2VyLXRleHRyLwsSBU9yZGVyIhRWNzdQWDM2UEtOQkRGQ1pSVjRWNQwLEglPcmRlckl0ZW0Y_ToM'

Task names are apparently limited to letters and digits, according to the error message, although this limitation is not explained in the API documentation. (A bug report was filed for the missing documentation; you can vote it up.)

But I ask, why the restriction? I want to have a task name containing a DataStore Key, e.g. the string produced by KeyFactory.keyToString(). It contains underscores. I wonder what is wrong with having underscores in task names?