Data Viewer weirdness: delays on committing deletes

1 view
Skip to first unread message

Aral Balkan

unread,
Jun 18, 2008, 1:32:33 PM6/18/08
to Google App Engine
I'm seeing some really bizarre behavior in the Data Viewer on Google
App Engine:

e.g.

1. I delete all entities.
2. It tells me "« No entities of this kind."
3. I refresh the page
4. The entities are still there (sometimes partially)

Am I correct to assume that this is due to the "read committed"
transaction isolation used on the DataStore?

This is impacting my app since these phantom entities can be seen by
the app until they are truly deleted and if I'm doing something based
on whether or not that entity exists, the app is fooled.

It seems that one way to code around this is to have a "deleted" flag
on all my models that I set.

It seems (from observation only) that updates are committed faster
than deletes. Is this the case? Would using a "delete" flag be a
recommended practice?

Thanks,
Aral

Aral

unread,
Jun 18, 2008, 1:47:15 PM6/18/08
to Google App Engine
There's definitely something wrong:

1. I create an entity.
2. I see it in the Data Viewer.
3. I refresh the Data Viewer.
4. The entity is not there.
5. I refresh it again.
6. The entity is there.

This doesn't comply with what I read at
http://code.google.com/appengine/articles/transaction_isolation.html
on "read committed" transaction isolation.

It actually feels like the DataStore is going nuts (I know that my app
is).

Is the DataStore experiencing issues again?

(I also got "An error was encountered while trying to post, please try
again later." while trying to post this.)

Thanks,
Aral

Pete

unread,
Jun 19, 2008, 4:15:58 PM6/19/08
to Google App Engine
Just a note on this: I worked with Aral to try to reproduce this, and
we determined this was actually an issue with his browser cache and a
flakey internet connection.

To the best of our knowledge, the datastore has been functioning
smoothly since 1:40pm PDT (GMT-7) on Tuesday 6/17.

Thanks,
Pete, App Engine Team

On Jun 18, 10:47 am, Aral <a...@aralbalkan.com> wrote:
> There's definitely something wrong:
>
> 1. I create an entity.
> 2. I see it in the Data Viewer.
> 3. I refresh the Data Viewer.
> 4. The entity is not there.
> 5. I refresh it again.
> 6. The entity is there.
>
> This doesn't comply with what I read athttp://code.google.com/appengine/articles/transaction_isolation.html

Aral Balkan

unread,
Jun 20, 2008, 4:22:17 AM6/20/08
to Google App Engine
Just to reiterate what Pete said, we've reached the conclusion that
the T-Mobile WiFi at Starbucks (UK) was being randomly unreliable.
That's what you get for working from Starbucks, I guess.

Anyway, I haven't been able to reproduce the issue either at home or
over my T-Mobile 3G USB stick so I think we can consider this issue
closed.

A big thank-you to Pete for working through this with me.

Aral

On Jun 19, 9:15 pm, Pete <pkoo...@google.com> wrote:
> Just a note on this: I worked with Aral to try to reproduce this, and
> we determined this was actually an issue with his browser cache and a
> flakey internet connection.
>
> To the best of our knowledge, the datastore has been functioning
> smoothly since 1:40pm PDT (GMT-7) on Tuesday 6/17.
<snip>
Reply all
Reply to author
Forward
0 new messages