[CRS normalization] Ingested manifest with 2D CRS Persistable reference cannot be found by Search (GONRG-5581)

Riabokon Stanislav(EPAM)[GCP] requested to merge npe-arrays into master

Issue: osdu/platform/system/indexer-service#61 (closed)

There is a bug in the core common lib util class: https://community.opengroup.org/osdu/platform/system/lib/core/os-core-common/-/blob/master/src/main/java/org/opengroup/osdu/core/common/util/JsonUtils.java#L84

Storage service uses this class when records are requested via query endpoint:

curl --location --request POST 'https://preship.gcp.gnrg-osdu.projects.epam.com/api/storage/v2/query/records:batch' \
--header 'Data-Partition-ID: odesprod' \
--header 'frame-of-reference: units=SI;crs=wgs84;elevation=msl;azimuth=true north;dates=utc;' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "records":[
        "odesprod:work-product-component--SeismicBinGrid:10May2Dpoly"
    ]
}'

The same endpoint is used by the Indexer service to perform indexing on converted records.

When there is a conversion property in array format like VerticalMeasurements[].VerticalMeasurement present in the record meta block but not present in the data section, this method throws NullPointerException. Which makes Storage to respond a 500 error and breaks the indexing of that record.

npe

Merge request reports