[CRS normalization] Ingested manifest with 2D CRS Persistable reference cannot be found by Search (GONRG-5581)
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.