Abnormally high costs due to deleted/removed entry in the _fusion_table_2 datastore

1. What is the problem? Be very detailed.

We noticed high billing charges in a Google App Engine deployment of ODK-Aggregate. Upon investigating we found that the background instance is trying to publish a fusion table that does not exist and throwing an error multiple times a minute. We cannot load the publish table webpage for the form.

The error signature is:

"Somehow DB entities for publisher got into problem state"
"com.google.appengine.api.datastore.EntityNotFoundException: No entity was found matching the key: opendatakit._fusion_table_2("uuid:9cbe9e1e-41b4-46f6-809e-e27f1d736a2d")"

At some point the entry in the fusion table was deleted. My best guess is that this occurred during a datastore backup, but it could have been deleted by a user manually. Either way, the system is in a bad state.

2. What app or server are you using and on what device and operating system? Include version numbers.

ODK-Aggregate fork from June 2018

3. What you have you tried to fix the problem?

I am going to try adding a fake entry to the table and then deleting it from the ODK-Aggregate webpage.

4. What steps can we take to reproduce the problem?

I reproduced the issue on a test system by deleting an entry in the opendatakit._fusion_table_2 datastore.

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.

Any suggestions on a fix are appreciated!

My workaround mentioned in the original post works! I created an entry directly in the datastore with 'uuid:9cbe9e1e-41b4-46f6-809e-e27f1d736a2d' as the key and a valid user for the CREATED_BY entry. I was then able to open the 'Publish Data' webpage in ODK-Aggregate for the form and delete the entry.

1 Like