Error while updating dataset schema using DOMO CLI

HI, i tried to change the scehma of one API dataset using DOMO CLI and the command set-scehma.

 After i  noticed i update the schema with uncorrect columns as upsert . i tried to run back with the original schema but i got the following error.

Index progress error for dataset ae4f6f65-5ebf-47b1-9213-fe73ee5dfdcd. Indexing terminated with status: ERROR
Index progress error for dataset ae4f6f65-5ebf-47b1-9213-fe73ee5dfdcd. RequestFailedException{failureType=INDEXING_ERROR, failureBody='Indexing failed: org.apache.thrift.TApplicationException: [Tundra](3019) Duplicate primary key found in row "12" in current data version'}
RequestFailedException{failureType=INDEXING_ERROR, failureBody='Indexing failed: org.apache.thrift.TApplicationException: [Tundra](3019) Duplicate primary key found in row "12" in current data version'}
at com.domo.client.manager.DataUploadManager$IndexProgressWorker.call(DataUploadManager.java:1002)
at com.domo.client.manager.DataUploadManager$IndexProgressWorker.call(DataUploadManager.java:961)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

 

 

Does anybody know how i can fix this?

Comments

  • You'll probably have to work with support (or a consultant ?  on this.

     

    but it sounds like your dataset had an UPSERT schema enabled.  then you altered the schema or uploaded data and when it tried to reindex, it found a row that violated the unique-ness constraint which UPSERT requires.

     

    I would duplicate this dataset before taking any more troubleshooting steps.  your data is currently in a state where it cannot be safely loaded into Adrenaline, so if you try to add more data or replace data ... it could cause ... unexpected results.

     

    Step 1) you need to define an upsert scheme that does not violate uniqueness constraints.  

    Step 2) you need to ensure that any processes that updated your dataset adopt a check that ensures you don't violate uniqueness constraints.

     

    You might want to also download the existing dataset and verify that it's in the expected state (regarding row count).

    Jae Wilson
    Check out my 🎥 Domo Training YouTube Channel 👨‍💻

    **Say "Thanks" by clicking the ❤️ in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • i could fix it by removing some records in the dataset using the data repair.

    now i want to test to delete one specific record using domo cli.

    i have update my dataset schema  by defining the 3 columns for upsert.

    i have created the csv file to put the record i want to delete based on the 3 columns.

    i run the delete-rows command and it show me it succeeded:

    Finished indexing for dataset ae4f6f65-5ebf-47b1-9213-fe73ee5dfdcd with status SUCCESS
    Deleted successfully

    but when i check the dataset nothing have been removed.

    maybe my csv file is not correct.

    any example for that case on how to remove a specific records using CLI ?

This discussion has been closed.