Uploaded image for project: 'mod-data-import-converter-storage'
  1. mod-data-import-converter-storage
  2. MODDICONV-123

Issue upgrading from Edelweiss - Fameflower with ref/sample data

    XMLWordPrintable

Details

    • EPAM BatchLoader Sprint 41
    • 3
    • Folijet

    Description

      While upgrading one of our environments from v1.6.0 to v1.7.2 of mod-data-import-converter-storage, noticed the following issue with ref/sample data migration.

      When I go to Settings->Data Import and click on Job Profiles - it displays ok.
      But when I click on Match Profiles, Action Profiles or Field Mapping profiles - the UI blows up with a white screen.

      Looking through n/w traffic - I see that

      https://<okapi-url>/data-import-profiles/matchProfiles?limit=30&query=%28cql.allRecords%3D1%29%20sortby%20name
      
      • gets a response with all nulls like the below from the backend
      {
        "matchProfiles" : [ null, null, null, null, null, null, null, null, null, null, null ],
        "totalRecords" : 11
      }
      

      As noted in totalRecords -> there are indeed 11 records in DB which work fine with 1.6.0

      Looking at logs - De-serialization is failing in PostGresClient

      Here is the snippet from logs -

      [vert.x-eventloop-thread-0] INFO  CQLWrapper           [314972102eqId] CRITERION >>> SQL: WHERE (jsonb->>'id') = 'cdf0ca3a-b515-4abd-82b6-48ce65374963'    >>>WHERE (jsonb->>'id') = 'cdf0ca3a-b515-4abd-82b6-48ce65374963'
      19:05:05.458 [vert.x-eventloop-thread-0] ERROR PostgresClient       [314972110eqId] null
      java.lang.NullPointerException: null
      	at org.folio.rest.persist.PostgresClient.deserializeRow(PostgresClient.java:2440) ~[ms.jar:?]
      	at org.folio.rest.persist.PostgresClient.deserializeResults(PostgresClient.java:2395) ~[ms.jar:?]
      	at org.folio.rest.persist.PostgresClient.processResults(PostgresClient.java:2363) ~[ms.jar:?]
      	at org.folio.rest.persist.PostgresClient.lambda$34(PostgresClient.java:1589) ~[ms.jar:?]
      	at org.folio.rest.persist.PostgresClient.lambda$43(PostgresClient.java:1884) ~[ms.jar:?]
      	at org.folio.rest.persist.PostgresClient.lambda$57(PostgresClient.java:2596) ~[ms.jar:?]
      	at io.vertx.ext.asyncsql.impl.AsyncSQLConnectionImpl.lambda$handleAsyncQueryResultToResultSet$11(AsyncSQLConnectionImpl.java:321) ~[ms.jar:?]
      	at io.vertx.ext.asyncsql.impl.ConversionUtils.lambda$connectCompletableFutureWithHandler$4(ConversionUtils.java:97) ~[ms.jar:?]
      	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) ~[?:1.8.0_242]
      	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) ~[?:1.8.0_242]
      	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_242]
      	at io.vertx.ext.asyncsql.impl.VxContextAwareExecutor.lambda$execute$0(VxContextAwareExecutor.java:22) ~[ms.jar:?]
      	at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:369) ~[ms.jar:?]
      	at io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38) ~[ms.jar:?]
      	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [ms.jar:?]
      	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:416) [ms.jar:?]
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:515) [ms.jar:?]
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918) [ms.jar:?]
      	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [ms.jar:?]
      	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [ms.jar:?]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
      
      
      

      and here is the data for that particular UUID in the DB -

      {"id": "cdf0ca3a-b515-4abd-82b6-48ce65374963", "name": "POL-MARC", "tags": {"tagList": ["pol"]}, "deleted": false, "metadata": {"createdDate": "2018-10-30T12:41:22.000", "updatedDate": "2018-11-02T12:09:51.000", "createdByUserId": "", "updatedByUserId": "", "createdByUsername": "", "updatedByUsername": ""}, "userInfo": {"lastName": "ADMINISTRATOR", "userName": "diku_admin", "firstName": "DIKU"}, "entityType": "INVENTORY_ITEM", "description": "Use for POL in 990 $p", "matchDetails": [{"matchCriterion": "EXACTLY_MATCHES", "existingRecordType": "ORDER", "incomingRecordType": "MARC", "existingMatchExpression": {"fields": [{"label": "field", "value": "PO_LINE_NUMBER"}], "dataValueType": "VALUE_FROM_RECORD"}, "incomingMatchExpression": {"fields": [{"label": "field", "value": "990"}, {"label": "indicator1", "value": " "}, {"label": "indicator2", "value": " "}, {"label": "recordSubfield", "value": "p"}], "dataValueType": "VALUE_FROM_RECORD"}}], "existingRecordType": "ORDER", "incomingRecordType": "MARC"}
      

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                ruslan_lavrov Ruslan Lavrov
                sduvvuri Sobha Duvvuri
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases