IQSS / IQSS/dataverse

Faulty Metadata Blocks do not trigger Database Rollback

Open
#11,962 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature: Admin Guide Feature: API Feature: Metadata Type: Bug User Role: API User User Role: Sysadmin
Dominant language
Java
Stars
1.1k
Forks
564
Avg merge
2d 2h
Merged PRs (30d)
29

Description

What steps does it take to reproduce the issue?

  1. Load an invalid Metadata Block (like this one due to our custom field type).
  2. Watch the logs and the response to document the error.
  3. Look at the loaded metadata fields and see some of them still being applied.

When does this issue occur?
During Metadata Customization.

Which page(s) does it occurs on?
Admin API

What happens?
The changes to the database from any fields that are valid are not rolled back.

To whom does it occur (all users, curators, superusers)?
Sysadmin

What did you expect to happen?
I would expect that any changes that may have been done are rolled back. The database transaction should be undone, so you are always in a consistent state.

Which version of Dataverse are you using?
6.8 / develop

Any related open or closed issues to this bug report?

  • #9628
  • #2551

Are you thinking about creating a pull request for this issue?
Maybe.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the invalid Metadata Block through the Admin API during Metadata Customization, using the linked example and related issues #9628 and #2551. Trace the database transaction handling around the failed metadata import and verify that all changes from partially valid fields are rolled back, leaving the database consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.