What are the reasons ODK might set a submission to incomplete (_IS_COMPLETE=0)?

Hi there, using ODK v1.4.4 .

One submission had the value 0 at _IS_COMPLETE db field. I set to 1, and
now the submission shows in exports. Though, I'm not sure what has happened
if this had any side effects.

Catalina log for this particular submission showed: INFO: Successful
OpenRosa submission

Also, I'm trying to find the source code that sets _is_complete zero so I
can understand better but I haven't found the place.

Best,
piqo

You should not be setting this value directly in the database.

This value tracks whether all the media attachments have been successfully
uploaded to the server.

If they have not, the submission remains under the Forms Management /
Submission Admin tab and is not eligible for publishing or exporting.

If you click on "Mark as Complete" on the Submission Admin subtab, then the
submission is edited to remove all references to the missing media
attachment(s) and then this field is changed to 1, and the submission is
then eligible for publishing and export.

··· On Tue, Apr 28, 2015 at 8:04 AM, piqo wrote:

Hi there, using ODK v1.4.4 .

One submission had the value 0 at _IS_COMPLETE db field. I set to 1, and
now the submission shows in exports. Though, I'm not sure what has happened
if this had any side effects.

Catalina log for this particular submission showed: INFO: Successful
OpenRosa submission

Also, I'm trying to find the source code that sets _is_complete zero so I
can understand better but I haven't found the place.

Best,
piqo

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

This is used during submission uploads from ODK Collect to handle the case
where there are many media attachments for a given submission. The upload
logic will split the upload into multiple independent requests of less than
10MB per request so as to prevent the server from having its JVM get
out-of-memory errors.

··· On Tue, Apr 28, 2015 at 12:35 PM, Mitch Sundt wrote:

You should not be setting this value directly in the database.

This value tracks whether all the media attachments have been successfully
uploaded to the server.

If they have not, the submission remains under the Forms Management /
Submission Admin tab and is not eligible for publishing or exporting.

If you click on "Mark as Complete" on the Submission Admin subtab, then
the submission is edited to remove all references to the missing media
attachment(s) and then this field is changed to 1, and the submission is
then eligible for publishing and export.

On Tue, Apr 28, 2015 at 8:04 AM, piqo piqoni@gmail.com wrote:

Hi there, using ODK v1.4.4 .

One submission had the value 0 at _IS_COMPLETE db field. I set to 1, and
now the submission shows in exports. Though, I'm not sure what has happened
if this had any side effects.

Catalina log for this particular submission showed: INFO: Successful
OpenRosa submission

Also, I'm trying to find the source code that sets _is_complete zero so I
can understand better but I haven't found the place.

Best,
piqo

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Thanks Mitch, didn't even know that feature.

FYI I was using Enketo to submit the data but the same logic would apply.

One more related question, so far I have about 5 incomplete submission out
of 500 (1% incomplete) total submission, and I would like to know if this
happens in ODK 1.4.5 as well.

If I use ODK 1.4.5, should I check "Skip malformed submissions (exports,
publishing) (ignores corrupted submissions)".
"Ignoring" here means not inserting malformed submissions in core tables,
right?

My doubt is that the Enketo shows a *successful submission *message, even
when INCOMPLETE submission has been received by ODK. (At least in ODK 1.4.4
I'm fairly confident this is the case)

Best,
piqo

··· On Tuesday, April 28, 2015 at 9:37:59 PM UTC+2, Mitch wrote: > > This is used during submission uploads from ODK Collect to handle the case > where there are many media attachments for a given submission. The upload > logic will split the upload into multiple independent requests of less than > 10MB per request so as to prevent the server from having its JVM get > out-of-memory errors. > > On Tue, Apr 28, 2015 at 12:35 PM, Mitch Sundt <mitche...@gmail.com > wrote: > >> You should not be setting this value directly in the database. >> >> This value tracks whether all the media attachments have been >> successfully uploaded to the server. >> >> If they have not, the submission remains under the Forms Management / >> Submission Admin tab and is not eligible for publishing or exporting. >> >> If you click on "Mark as Complete" on the Submission Admin subtab, then >> the submission is edited to remove all references to the missing media >> attachment(s) and then this field is changed to 1, and the submission is >> then eligible for publishing and export. >> >> >> On Tue, Apr 28, 2015 at 8:04 AM, piqo <piq...@gmail.com > wrote: >> >>> Hi there, using ODK v1.4.4 . >>> >>> One submission had the value 0 at _IS_COMPLETE db field. I set to 1, and >>> now the submission shows in exports. Though, I'm not sure what has happened >>> if this had any side effects. >>> >>> Catalina log for this particular submission showed: *INFO: Successful >>> OpenRosa submission* >>> >>> Also, I'm trying to find the source code that sets _is_complete zero so >>> I can understand better but I haven't found the place. >>> >>> Best, >>> piqo >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "ODK Developers" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to opendatakit-developers+unsubscribe@googlegroups.com >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Mitch Sundt >> Software Engineer >> University of Washington >> mitche...@gmail.com >> > > > > -- > Mitch Sundt > Software Engineer > University of Washington > mitche...@gmail.com >

No, you generally don't want to check the "Skip malformed submissions" and
checking that will NOT move a submission from the Submission Admin sub-tab
to the Submission tab.

The records appearing on the Submission Admin sub-tab indicate a failure of
the client that can be resolved by re-submitting the data from that
client. Only in the case where you have decided to discard the missing
data would you "Mark as Complete" those records; that will remove all
references to the missing data, making the submission appear "complete"
although it might no longer satisfy your required or constraint conditions
because this missing data has been removed without regard to those
constraints.

The "Skip malformed..." checkbox is a work-around for cases where there is
a corrupted / damaged submission. That can occur if the server suffers a
failure between the instant it starts to write a submission to the
database, and the instant that writing completes (the server doesn't use
transactions in its database interactions; it uses a few mutexes at key
points). In cases of a failure, the client would get a submission failure,
and, upon a retrying to submit the data, the database will end up with a
double-insert of repeat-group, attachment, and multiple-choice fields
within that form. When that record is then retrieved for exporting to a
file, publishing, or pulling with ODK Briefcase, all of those actions will
fail upon encountering that corrupted data row. This is the major design
flaw of the database logic. Fortunately, the interval of time that is
impacted by this flaw is very small.

When users encounter this, we recommend that they disable new submissions
to that form, check this checkbox, and pull all existing data to their
local computer using ODK Briefcase. If they have publishers, the publishers
will end up missing this data value, and start on the next value.

Then, after examining the log to get the instanceID of the problematic
record, users can delete that record or try to repair it. In most cases, it
is not worth repairing the record.

Once the database is repaired, they can resume accepting submissions. If
they absolutely needed that data record, create new publishers so that the
now-repaired row is published. Similarly, their previous ODK Briefcase pull
will not have had that record. They would need to specify a different
storage location to pull all data into there, and that will then contain
the missing record.

In those cases, the best course of action is to attempt to repair/recover
the damaged submission (the log file will identify the instanceID that has
trouble). For complex surveys, or AppEngine instances with a large number
of forms, it may be very difficult to figure out what the problem is.

··· On Wed, Apr 29, 2015 at 7:13 AM, piqo wrote:

Thanks Mitch, didn't even know that feature.

FYI I was using Enketo to submit the data but the same logic would apply.

One more related question, so far I have about 5 incomplete submission out
of 500 (1% incomplete) total submission, and I would like to know if this
happens in ODK 1.4.5 as well.

If I use ODK 1.4.5, should I check "Skip malformed submissions (exports,
publishing) (ignores corrupted submissions)".
"Ignoring" here means not inserting malformed submissions in core tables,
right?

My doubt is that the Enketo shows a *successful submission *message, even
when INCOMPLETE submission has been received by ODK. (At least in ODK 1.4.4
I'm fairly confident this is the case)

Best,
piqo

On Tuesday, April 28, 2015 at 9:37:59 PM UTC+2, Mitch wrote:

This is used during submission uploads from ODK Collect to handle the
case where there are many media attachments for a given submission. The
upload logic will split the upload into multiple independent requests of
less than 10MB per request so as to prevent the server from having its JVM
get out-of-memory errors.

On Tue, Apr 28, 2015 at 12:35 PM, Mitch Sundt mitche...@gmail.com wrote:

You should not be setting this value directly in the database.

This value tracks whether all the media attachments have been
successfully uploaded to the server.

If they have not, the submission remains under the Forms Management /
Submission Admin tab and is not eligible for publishing or exporting.

If you click on "Mark as Complete" on the Submission Admin subtab, then
the submission is edited to remove all references to the missing media
attachment(s) and then this field is changed to 1, and the submission is
then eligible for publishing and export.

On Tue, Apr 28, 2015 at 8:04 AM, piqo piq...@gmail.com wrote:

Hi there, using ODK v1.4.4 .

One submission had the value 0 at _IS_COMPLETE db field. I set to 1,
and now the submission shows in exports. Though, I'm not sure what has
happened if this had any side effects.

Catalina log for this particular submission showed: INFO: Successful
OpenRosa submission

Also, I'm trying to find the source code that sets _is_complete zero so
I can understand better but I haven't found the place.

Best,
piqo

--
You received this message because you are subscribed to the Google
Groups "ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com