Uploaded image for project: 'RAML Module Builder'
  1. RAML Module Builder
  2. RMB-860

mod-oai-pmh tables were lost at snapshot env and based on it other environments too.



    • Story
    • Status: Closed (View Workflow)
    • P2
    • Resolution: Done
    • None
    • None
    • None
    • CP: sprint 118, CP: sprint 122
    • 0
    • Core: Platform



      Mod-oai-pmh tables except for RMB tables(rmb_internal, rmb_job and etc.) were removed everywhere(snapshot, testing, vagrant env's like folio-testing, folio-testing-backend and etc.).


      We have released the mod-oai-pmh v3.5.0 but didn't merge the tmp-release-3.5.0 branch into master with maven version changes, and the next day when the snapshot was rebuilt the enabled module name was mod-oai-pmh-3.5.0 without both snapshot and build number ending. It worked fine. Then we merged the tmp-release branch to master and when the snapshot was rebuilt the enabled module name started to be displayed correctly with both snapshot + build number ending, i.e. mod-oai-pmh-3.5.1-snapshot.196, but the problem that mod-oai-pmh tables disappeared (except the RMB default tables) has occurred.
      I was thinking that there some error occurred during the tenant API invocation but even if it does the tables should not be deleted. (Before the issue occurred there were the next tables: set_lb, request_metadata_lb, instances, databasechangelog, databasechangeloglock).
      I run the module from the master branch locally from Intellij IDE and trigger the tenant API. I did it via curl POST request:

      curl -w"\n" -s -S -D - -H "Content-type: application/json" -H "x-okapi-tenant: diku" -d '{"module_to":"99.99.99"}' http://localhost:8081/_/tenant

      The tenant API invocation was run successfully without any errors and I got oai-pmh tables created. I have no clue how they could be removed and why they weren't created again.
      For populating the database we use liquibase scripts and they are run inside the tenant API implementation. The liquibase creates the databasechangelog table within which it holds the info about the scripts that have been run already (the particular script is run only once). Since the databasechangelog table is absent then the info about already run scripts was lost and all the liquibase scripts should have been run again and as result, all tables with indexes, etc. should have been created again from the scratch, but I see that tables are missing.

      The commits history

      Define the issue of why the tables were lost.

      Acceptance criteria:

      • The issue is defined and the tenant API invocation creates the tables in the normal way.

      TestRail: Results


          Issue Links



                julianladisch Julian Ladisch
                TotoroDev Illia Daliek
                0 Vote for this issue
                3 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases