seismic-dms-cpp-lib issueshttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues2023-06-13T20:11:56Zhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/23Bug in escape function defined in utils.cc2023-06-13T20:11:56ZMichaelBug in escape function defined in utils.ccIn the file https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/blob/master/src/src/lib/shared/utils.cc, line 264 there's escape function defined. It contains a bug in...In the file https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/blob/master/src/src/lib/shared/utils.cc, line 264 there's escape function defined. It contains a bug in line 270:
`if (c < 0 && (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~'))`
Specifically, the "if c < 0" condition shouldn't be there, at least from my point of view. As a result, the following code of sdapi library:
```
http.set_url(_sdmanager->getSDUrl() +
"/dataset/tenant/" + escape(tenant) +
"/subproject/" + escape(subproject) +
"/exist");
```
produces the following URL:
`"https://osdu-ship.msft-osdu-test.org/seistore-svc/api/v3/dataset/tenant/%6F%70%65%6E%64%65%73/subproject/%6D%69%63%68%61%65%6C%76%31/exist"`
instead of
`"https://osdu-ship.msft-osdu-test.org/seistore-svc/api/v3/dataset/tenant/opendes/subproject/michaelv1/exist"`https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/22IBM service not responding correctly on Seismic DMS Service dataset list endp...2023-03-30T16:31:30ZRashaad GrayIBM service not responding correctly on Seismic DMS Service dataset list endpointPOST /dataset/tenant/{tenantid}/subproject/{subprojectid}
Get the list of datasets in a subproject.
endpoint is not correctly responding, causing error with e2e test will skip specific test for nowPOST /dataset/tenant/{tenantid}/subproject/{subprojectid}
Get the list of datasets in a subproject.
endpoint is not correctly responding, causing error with e2e test will skip specific test for nowhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/19New versions does not support m11 release or older2023-03-30T16:33:04ZJørgen Lindjorgen.lind@3lc.aiNew versions does not support m11 release or olderIt seems that new versions of seismic-dms-cpp-lib does not support m11 release giving the error message:
`sdapi 3.16.0 - SeismicStore::DatasetRegister: Error executing an HTTP request [ HTTP 404 ]`It seems that new versions of seismic-dms-cpp-lib does not support m11 release giving the error message:
`sdapi 3.16.0 - SeismicStore::DatasetRegister: Error executing an HTTP request [ HTTP 404 ]`https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/18Windows/Visual studio build issues2023-06-13T20:14:24ZPavel KisliakWindows/Visual studio build issuesThere are several build issues on Windows/Visual studio
- Conflict with MIN/MAX define (AWS provider)
- Missed linking AWSSDK
- Wrong path to compiled library in the Cmake install when uses single configuration
Build errors in the Unit...There are several build issues on Windows/Visual studio
- Conflict with MIN/MAX define (AWS provider)
- Missed linking AWSSDK
- Wrong path to compiled library in the Cmake install when uses single configuration
Build errors in the Unit test/Utils projects:
- Linking error when enable unit tests (BUILD_UTEST=true):
"gtestd.lib(gtest-all.cc.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in main.cc.obj"
- Inconsistent DLL linkage (appears in tests/utils which linking static library "sdapi_static")Pavel KisliakPavel Kisliakhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/16Using VCPKG manifest file2023-06-28T12:29:17ZPavel KisliakUsing VCPKG manifest fileCan we think about start using [VCPKG manifests](https://vcpkg.readthedocs.io/en/latest/specifications/manifests/)?
I see that VCPKG already used for Windows build, I hope that it also can be unified, because VCPKG available for Win/Linu...Can we think about start using [VCPKG manifests](https://vcpkg.readthedocs.io/en/latest/specifications/manifests/)?
I see that VCPKG already used for Windows build, I hope that it also can be unified, because VCPKG available for Win/Linux/Mac.
In addition to help with faster getting first build there are also other benefits:
- Will help to avoid interferences with globally installed libraries for different projects.
- Manifest allows to stick with specified versions of third-party libraries.
- Will reduce complexity of Cmake by removing constructions like "if (WIN32) else" for linking dependencies.
- Allow to move in direction to publish 'seismic-store-cpp-lib' to VCPKG.
As start point, I've prepared branch with [VCPKG manifest](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/commit/9ee956e09612cb4f69d174147db2d040040656ef).
Currently I am not added libraries **aws-sdk-cpp** and **google-cloud-cpp** because need to fix linking in the cmake.
How to build:
```
make -B build -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_FEATURE_FLAGS=versions
cmake --build build --config Release
```
[Please correct path to installed VCPKG]
The VCPKG way should work on all platforms, but currently there are exists few issues which should be fixed.
For have better life with Visual Studio, I've also prepared "CMakeSettings.json" file,
that allows to just use "Open folder" command from the VS and make build without any other configure actions.
(Just VCPKG should be installed and path should be added to environment variable VCPKG_ROOT).
One thing that need to keep in mind, VCPKG does not officially support dynamic linkage on Linux, which
is related to system-provided libraries ([more info](https://github.com/microsoft/vcpkg/issues/15006)).
But exists community supported triplet which can be used at our own risk.
As I am new on OSDU and on this particular library, please point out which other impediments do you see.
Edited 1/26/2023: Btw, the same work was done for [Reservoir/Open-ETP-server](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/reservoir/open-etp-server/-/issues/30)https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/11enable performance tests analisys in the pipeline2023-03-30T16:38:04ZDiego Moltenienable performance tests analisys in the pipelineA certain level of performances through sdapi should be guaranteed from all CSP implementations. There are already simple program examples ([pwrite ](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic...A certain level of performances through sdapi should be guaranteed from all CSP implementations. There are already simple program examples ([pwrite ](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/blob/master/src/test/seismic-store/performance_write.cc) [pread](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/blob/master/src/test/seismic-store/performance_read.cc)) and a more complete one [here ](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/tree/master/src/test/performance)(evaluate read-write perf. on different combinations of thread numbers and blocks sizes) that can be used in the pipeline to guarantee library performances. This last can be built using the provided build script (passing the --build-ptest options…. see README.md). both AWS/IBM should start looking into this example to understand if these works for them and how we can generally enable them in the pipeline (define acceptance level and execution context). I’ve created a bug hereDiego MolteniDiego Moltenihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/issues/10AWS sdk to be cloned from the official repo in the build images definition2023-03-30T16:39:15ZDiego MolteniAWS sdk to be cloned from the official repo in the build images definitionbuild images are provided with static dependencies to build both CSP dedicated and polycloud releases.
We had to patch the aws-sdk-cpp sources to be able to statically build them. The sdk should be cloned from the official repo (in bot...build images are provided with static dependencies to build both CSP dedicated and polycloud releases.
We had to patch the aws-sdk-cpp sources to be able to statically build them. The sdk should be cloned from the official repo (in both images [ubuntu](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/blob/master/devops/docker/build.ubuntu.staticdeps.dockerfile#L216)/[centos7](https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/seismic-dms-suite/seismic-store-cpp-lib/-/blob/master/devops/docker/build.centos7.staticdeps.dockerfile#L254)).Matt WiseMatt Wise