OpenId : unable to retrieve record with openid User

16 views
Skip to first unread message

Roberto

unread,
Jun 15, 2010, 6:04:14 AM6/15/10
to Google App Engine
Hi all,

I have a serious problem with an application using OpenId
autentication.

I tested the app using using blogger.com as an openid provider and
stored the User object in the Datastore, in a UserProfile table.
Now it is not possible to retrieve the entity containing that User,
raising UserNotFoundError.

Even the remote Datastore Viewer crashes with the following message
when querying the entity:
Server Error
A server error has occurred.

Any help is appreciated.

Thanks
Roberto

Nick Johnson (Google)

unread,
Jun 15, 2010, 6:10:59 AM6/15/10
to google-a...@googlegroups.com
Hi Roberto,

What is your App ID?

-Nick Johnson


--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.




--
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047
Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047

Roberto

unread,
Jun 15, 2010, 7:34:23 AM6/15/10
to Google App Engine
Hi Nick, AppId is test-pappa-mi

troubled entity is "Commissario".

Thanks
Roberto

On 15 Giu, 12:10, "Nick Johnson (Google)" <nick.john...@google.com>
wrote:
> Hi Roberto,
>
> What is your App ID?
>
> -Nick Johnson
>
> On Tue, Jun 15, 2010 at 11:04 AM, Roberto <roberto.previt...@gmail.com>wrote:
>
>
>
>
>
> > Hi all,
>
> > I have a serious problem with an application using OpenId
> > autentication.
>
> > I tested the app using using blogger.com as an openid provider and
> > stored the User object in the Datastore, in a UserProfile table.
> > Now it is not possible to retrieve the entity containing that User,
> > raising UserNotFoundError.
>
> > Even the remote Datastore Viewer crashes with the following message
> > when querying the entity:
> > Server Error
> > A server error has occurred.
>
> > Any help is appreciated.
>
> > Thanks
> > Roberto
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-a...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengi...@googlegroups.com<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .

Roberto

unread,
Jun 15, 2010, 7:05:29 PM6/15/10
to Google App Engine
Sorry for the repost, but I am totally stuck.
There is no way of removing the corrupted entity.
App Id: test-pappa-mi
Entity: Commissario (corrupted entity should be the last created of
its kind)

this is the stack trace:
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/
ext/webapp/__init__.py", line 511, in __call__
handler.get(*groups)
File "/base/data/home/apps/test-pappa-mi/1.342696057774496084/py/
admin.py", line 419, in get
for commissario in Commissario.all():
File "/base/python_runtime/python_lib/versions/1/google/appengine/
ext/db/__init__.py", line 1816, in next
return self.__model_class.from_entity(self.__iterator.next())
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py", line 2082, in next
self.__buffer = self._Next(self.__batch_size)
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py", line 2028, in _Next
return self._ProcessQueryResult(result)
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py", line 2058, in _ProcessQueryResult
return [Entity._FromPb(e) for e in result.result_list()]
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore.py", line 760, in _FromPb
value = datastore_types.FromPropertyPb(prop)
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/datastore_types.py", line 1597, in FromPropertyPb
federated_identity=federated_identity)
File "/base/python_runtime/python_lib/versions/1/google/appengine/
api/users.py", line 104, in __init__
raise UserNotFoundError
UserNotFoundError


Thanks
Roberto

On 15 Giu, 12:10, "Nick Johnson (Google)" <nick.john...@google.com>
wrote:
> Hi Roberto,
>
> What is your App ID?
>
> -Nick Johnson
>
> On Tue, Jun 15, 2010 at 11:04 AM, Roberto <roberto.previt...@gmail.com>wrote:
>
>
>
>
>
> > Hi all,
>
> > I have a serious problem with an application using OpenId
> > autentication.
>
> > I tested the app using using blogger.com as an openid provider and
> > stored the User object in the Datastore, in a UserProfile table.
> > Now it is not possible to retrieve the entity containing that User,
> > raising UserNotFoundError.
>
> > Even the remote Datastore Viewer crashes with the following message
> > when querying the entity:
> > Server Error
> > A server error has occurred.
>
> > Any help is appreciated.
>
> > Thanks
> > Roberto
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to google-a...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengi...@googlegroups.com<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .

Roberto

unread,
Jun 16, 2010, 4:10:10 AM6/16/10
to Google App Engine
Well, I was able to solve it by myself: did a SELECT __key__ query,
fetched the last entity and deleted it.

My undertanding is that the problem was generated by creating and
storing a User object created with a federated_identity with no email
address (blogger.com, in that specific case).
The application must verify that this information is passed by the
federated_provider and if not, ask the user to provide it via a web
form or do not attempt to store the object.

Thanks
Roberto

sboire

unread,
Jun 19, 2010, 6:15:21 AM6/19/10
to Google App Engine
I got a similar issue.

Saving an instance "put()" of an object with a UserProperty referring
to a users.user that is a federated_identity causes a corruption of
the instance. accessing the object after the put will result in the
following exception:

File "/base/python_runtime/python_lib/versions/1/google/appengine/api/
users.py" in __init__
104. raise UserNotFoundError

This is totally weird since I'm not even updating that property.

Sebastien

On Jun 16, 4:10 am, Roberto <roberto.previt...@gmail.com> wrote:
> Well, I was able to solve it by myself: did a SELECT __key__ query,
> fetched the last entity and deleted it.
>
> My undertanding is that the problem was generated by creating and
> storing a User object created with afederated_identitywith no email

fraser.harris

unread,
Aug 9, 2010, 1:30:26 PM8/9/10
to Google App Engine
I reported it:

Issue 3563: UserProperty fails for OpenID User instances

http://code.google.com/p/googleappengine/issues/detail?id=3563&q=UserProperty%20OpenID&colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component

On Jun 19, 6:15 am, sboire <sebastien.boirelavi...@gmail.com> wrote:
> I got a similar issue.
>
> Saving an instance "put()" of an object with a UserProperty referring
> to a users.userthat is a federated_identity causes a corruption of
> the instance. accessing the object after the put will result in the
> following exception:
>
> File "/base/python_runtime/python_lib/versions/1/google/appengine/api/
> users.py" in __init__
>   104.       raise UserNotFoundError
>
> This is totally weird since I'm not even updating that property.
>
> Sebastien
>
> On Jun 16, 4:10 am, Roberto <roberto.previt...@gmail.com> wrote:
>
>
>
> > Well, I was able to solve it by myself: did a SELECT __key__ query,
> > fetched the last entity and deleted it.
>
> > My undertanding is that the problem was generated by creating and
> > storing aUserobject created with afederated_identitywith no email
> > address (blogger.com, in that specific case).
> > The application must verify that this information is passed by the
> > federated_provider and if not, ask theuserto provide it via a web
> > > > > stored theUserobject in the Datastore, in a UserProfile table.
Reply all
Reply to author
Forward
0 new messages