sul-dlss / dor-services-app

A Rails application exposing Digital Object Registry functions as a RESTful HTTP API
https://sul-dlss.github.io/dor-services-app/
Other
3 stars 2 forks source link

Remediate 234 geo items to prevent future version-mismatch errors #5131

Closed andrewjbtw closed 1 month ago

andrewjbtw commented 1 month ago

There are 234 geo items that have 1 version in DSA but 2 versions in preservation. This will result in a version mismatch error if these are reaccessioned because DSA will try to send the next version as version 2 and preservation expects the next version to be 3. See #5128 for 27 items where this issue has already occurred.

Example: https://argo.stanford.edu/view/druid:hd886sp9284

Oddly, Argo shows these items as "v2 Accessioned" even though a report from DSA says there's only 1 version for each item:

Screenshot 2024-07-19 at 6 32 11 PM

And the workflow service has data for when version 2 was accessioned:

Screenshot 2024-07-19 at 6 35 11 PM

However, the items show with the "lock" icon unlocked, which implies that the item should have a status of Opened.

Screenshot 2024-07-19 at 6 38 15 PM

If you try to close the version by "locking" it, the version that will be closed is version 2. Closing will kick off accessionWF, which will then throw the version mismatch error.

Remediation steps

I suspect that all we need to do is increment the version in DSA and make sure these items get a status of "Accessioned". Then the next accessioning update will create version 3.

druid:hd886sp9284
druid:hg536rx5317
druid:hh025kx7803
druid:hh198mg9823
druid:hk180wk4935
druid:hm823mn6071
druid:hn715yw8175
druid:hr417ph1984
druid:hr833pg4290
druid:hv993sx9645
druid:hw120dr9066
druid:hw296qt7469
druid:hz899cp6648
druid:jc694tk7617
druid:jc727ys6292
druid:jd389ry0802
druid:jf373vy9429
druid:jg328gx0970
druid:jg701sv3720
druid:jk367vm2180
druid:jk751vt8690
druid:jm477yb6974
druid:jm533dt5725
druid:jn041rk8710
druid:jn224rc1832
druid:jq142hr8433
druid:jq820zj1485
druid:jr204ps6485
druid:js264dx2258
druid:jv050jj5015
druid:jv249jv7497
druid:jw920gr0880
druid:jx658bf7407
druid:kc072fs8948
druid:kd221hs4657
druid:kd503sz1941
druid:kg104xx1784
druid:kj107pw4586
druid:kn465nn8832
druid:kp222jd9797
druid:kt509mv8530
druid:kt801bj0328
druid:kx198tp0131
druid:ky027tj0753
druid:kz788zr9252
druid:mc312bz1766
druid:mf071rd5917
druid:mf508gy5836
druid:mg422wy4243
druid:mj666qk0753
druid:mm695qp6471
druid:mn972rg1286
druid:mp566ww7494
druid:mw246sk4874
druid:mw475zf7024
druid:mw760gm1915
druid:nb465ww2475
druid:nb506cr4031
druid:nb606tk5645
druid:nd910xs0802
druid:nd986nc6112
druid:nf524dv3147
druid:nf845ck6647
druid:ng039wt5909
druid:nh460rn5044
druid:nh667cp0211
druid:nm523yb9964
druid:nq558th4270
druid:nr093hg3045
druid:ns648hc6875
druid:nt598yf9018
druid:nv155hs1650
druid:nx674dw2291
druid:nz339nf3513
druid:nz413fw8697
druid:pc038jq6829
druid:pc991yr2198
druid:pd256cv0573
druid:pf332vj2058
druid:ph077ss4804
druid:pk239tf0251
druid:pk606bs8811
druid:pn112md5519
druid:pn902vc4587
druid:pp864yz2488
druid:pr872wn6678
druid:px279tq3610
druid:pz919gw0149
druid:qb851zr2499
druid:qc087cj6235
druid:qc173gt3902
druid:qc578dc6322
druid:qg076pz6419
druid:qg520cy2670
druid:qj192jx3444
druid:qj582yw8601
druid:qj780gf7870
druid:qk255bz8584
druid:qm198ct7688
druid:qm532nq0431
druid:qn720wf0853
druid:qr160gx2208
druid:qr322hx0023
druid:qs959pk8285
druid:qv387zn4537
druid:qz580jp1970
druid:qz851rd2947
druid:rc164ny5912
druid:rc368yv6022
druid:rd305tb4758
druid:rd705mg4098
druid:rd960hz0019
druid:rf108vf1002
druid:rf167st2761
druid:rg079mz8316
druid:rg298fw8425
druid:rh099fr8328
druid:rj025xb5926
druid:rj620kr9582
druid:rm517gk3958
druid:rq993by2828
druid:rs402qz9062
druid:rs783fr5190
druid:rv480hc3270
druid:rw011kh8264
druid:rw055kr2828
druid:rx119tg4304
druid:rx998mg7928
druid:ry998ds5347
druid:sb192fz0855
druid:sc304rp0017
druid:sg308nm4839
druid:sg470tp3892
druid:sj464gd8118
druid:sj510kk9299
druid:sm628cp0225
druid:sp101wd1683
druid:sq540df2263
druid:sr203sp9545
druid:sv398fc7670
druid:sw768rd0616
druid:sx129fp0881
druid:td766dn0165
druid:tf741gc7481
druid:tg597tf9931
druid:tk160qy1590
druid:tm544pp9433
druid:tq263bq4817
druid:ts962yw0948
druid:tt201qn2371
druid:tt343fr7122
druid:tt669jr9994
druid:tt855nj4221
druid:tv317dp3428
druid:vb869tg5517
druid:vc022zy7667
druid:vd000km3676
druid:vf528wf6498
druid:vg059yb2293
druid:vg609bq6457
druid:vg681pr6897
druid:vh019pf5850
druid:vk854yt2724
druid:vm021vf4240
druid:vm518jb2893
druid:vp705yx2961
druid:vv300rh1649
druid:vw057zn7358
druid:vw517bv2698
druid:vz043cn9043
druid:wb303yt7715
druid:wb419vq8785
druid:wc564xt7322
druid:wg300sz4728
druid:wg869gv1127
druid:wg907zc4944
druid:wj081hv1273
druid:wk366hn9584
druid:wm049sv9382
druid:wm224xt1150
druid:wm357fk4668
druid:wm547hr8352
druid:wn623cq9081
druid:wv486zy4933
druid:ww567qv6194
druid:wy187nv0475
druid:wy330nr2256
druid:wz454mr0444
druid:xb131vp1348
druid:xc178kh6916
druid:xd102vt9070
druid:xh152mx6036
druid:xj568tw8489
druid:xj898fs1665
druid:xk657jc6407
druid:xn331zk7373
druid:xq030zy2689
druid:xw416dc2153
druid:xx204yt5275
druid:xx600dq2281
druid:xz846xx8531
druid:yb068zw1192
druid:yb457xw5646
druid:yb663ck8068
druid:yf448kp9601
druid:yh019rn9264
druid:yj289wq5038
druid:ym932rp0502
druid:yn179nc2925
druid:yn186dg7726
druid:yp147sf2546
druid:yr731zs9541
druid:yr998dd5413
druid:ys442yh6029
druid:ys843md7382
druid:yt919wb0590
druid:yv992cj5700
druid:zc048pr7180
druid:zc222zm1746
druid:zd422tz5175
druid:zg235tw7143
druid:zh143kc4739
druid:zh999vh2456
druid:zh999vp2219
druid:zj892js0299
druid:zn175fv8628
druid:zn725rm5724
druid:zq460nf4548
druid:zq995mh5908
druid:zs393zc3762
druid:zt722dk6505
druid:zw100vr2086
druid:zw209dv8770
druid:zy557qs5439
aaron-collier commented 1 month ago

@andrewjbtw The first object in DSA has the following RepositoryObject (opened_version_id is set)

#<RepositoryObject:0x00007feda6bcbab0
 id: 3096523,
 object_type: "dro",
 external_identifier: "druid:hd886sp9284",
 source_id: "branner:collins_MCE_OM4G_2015.tif",
 lock: 0,
 created_at: Tue, 22 Nov 2022 19:29:29.184754000 UTC +00:00,
 updated_at: Wed, 09 Aug 2023 21:39:31.171153000 UTC +00:00,
 head_version_id: 7181007,
 last_closed_version_id: 7181002,
 opened_version_id: 7181007>

Looking at a different object that isn't showing open:

#<RepositoryObject:0x00007feda711d9a0
 id: 4555287,
 object_type: "dro",
 external_identifier: "druid:rm242zg2446",
 source_id: "rbi:BRUNET",
 lock: 0,
 created_at: Tue, 06 Nov 2018 22:32:48.616000000 UTC +00:00,
 updated_at: Tue, 23 Apr 2024 20:42:03.530989000 UTC +00:00,
 head_version_id: 11402884,
 last_closed_version_id: 11402884,
 opened_version_id: nil>

opened_version_id is nil. I wonder if it's as easy as setting opened_version_id to nil and the last_closed_version_id to head_version_id on these objects

andrewjbtw commented 1 month ago

That does look like it will work. We could changed one of them and then I could open and close that one and make sure it goes up to version 3.

aaron-collier commented 1 month ago

Remediated all 234 objects.