Seismic issueshttps://community.opengroup.org/groups/osdu/platform/domain-data-mgmt-services/seismic/-/issues2019-12-20T08:46:37Zhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/2Build Fixes for Fedora 312019-12-20T08:46:37ZAndrew KBuild Fixes for Fedora 31Add this as an issue since I don't appear to have access to submit a merge request.
I ran into a few problem when trying to build OpenVDS in Fedora 31. I've fixed the issues locally and have submitted my patch file for the master branch...Add this as an issue since I don't appear to have access to submit a merge request.
I ran into a few problem when trying to build OpenVDS in Fedora 31. I've fixed the issues locally and have submitted my patch file for the master branch get rid of the problems. These should still be ok for other distributions as well
[openvds_build.diff](/uploads/46da01da49937d8912060330583602de/openvds_build.diff)
- Set CMAKE_INSTALL_LIBDIR to lib${LIBSUFFIX} for Azure Storage SDK
* Azure Storage SDK does not use GNUInstallDir cmake include to
set the CMAKE_INSTALL_<dir> variables resulting in invalid LIBDIR
paths for distributions that use lib64. However, they provide a way
to override it which is what this change uses to set the correct path
- Add WERROR=OFF for cpprestsdk
* Warning about deprecated-copy when building with gcc 9. Causes
the build to fail if werror is enabled
- Remove const from dimensionDistribution
* uniform_real_distribution<float> call operator is not const which
causes an error when building with gcc 9https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/10UploadRequestAWS gets destructed while FlushUploadQueue is waiting for it to ...2019-12-20T08:47:00ZMorten OfstadUploadRequestAWS gets destructed while FlushUploadQueue is waiting for it to finishWe are seeing 2 types of mutex error appear randomly, and abort the process: unlocking an unowned mutex, and mutex destroyed whilst busy.
The stack for unlocking unowned mutex is:
```
ucrtbased.dll!issue_debug_notification(const wc...We are seeing 2 types of mutex error appear randomly, and abort the process: unlocking an unowned mutex, and mutex destroyed whilst busy.
The stack for unlocking unowned mutex is:
```
ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 C++
ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++
ucrtbased.dll!abort() Line 61 C++
msvcp140d.dll!_Thrd_abort(const char * msg) Line 18 C++
msvcp140d.dll!_Mtx_unlock(_Mtx_internal_imp_t * mtx) Line 167 C++
> otter.dll!std::_Mutex_base::unlock() Line 67 C++
otter.dll!std::unique_lock<std::mutex>::~unique_lock<std::mutex>() Line 188 C++
otter.dll!OpenVDS::UploadRequestAWS::WaitForFinish() Line 302 C++
otter.dll!OpenVDS::VolumeDataAccessManagerImpl::FlushUploadQueue() Line 598 C++
otter.dll!OpenVDS::VolumeDataPageAccessorImpl::Commit() Line 504 C++
otter.dll!otter_core::VdsImage::writeToBlock(int block_index, void * buffer, unsigned __int64 buffer_size) Line 410 C++
```
The stack for the mutex destroyed whilst busy is:
```
ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28 C++
ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++
ucrtbased.dll!abort() Line 61 C++
msvcp140d.dll!_Thrd_abort(const char * msg) Line 18 C++
msvcp140d.dll!_Mtx_destroy_in_situ(_Mtx_internal_imp_t * mtx) Line 65 C++
> otter.dll!std::_Mutex_base::~_Mutex_base() Line 44 C++
otter.dll!std::mutex::~mutex() C++
otter.dll!OpenVDS::UploadRequestAWS::~UploadRequestAWS() C++
otter.dll!OpenVDS::UploadRequestAWS::`scalar deleting destructor'(unsigned int) C++
otter.dll!std::_Destroy_in_place<OpenVDS::UploadRequestAWS>(OpenVDS::UploadRequestAWS & _Obj) Line 242 C++
otter.dll!std::_Ref_count_obj2<OpenVDS::UploadRequestAWS>::_Destroy() Line 1504 C++
otter.dll!std::_Ref_count_base::_Decref() Line 651 C++
otter.dll!std::_Ptr_base<OpenVDS::UploadRequestAWS>::_Decref() Line 882 C++
otter.dll!std::shared_ptr<OpenVDS::UploadRequestAWS>::~shared_ptr<OpenVDS::UploadRequestAWS>() Line 1132 C++
otter.dll!OpenVDS::upload_callback(const Aws::S3::S3Client * client, const Aws::S3::Model::PutObjectRequest & putRequest, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & outcome, std::weak_ptr<OpenVDS::UploadRequestAWS> weak_upload) Line 228 C++
otter.dll!OpenVDS::UploadRequestAWS::run::__l2::<lambda>(const Aws::S3::S3Client * client, const Aws::S3::Model::PutObjectRequest & putRequest, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & outcome, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & __formal) Line 293 C++
otter.dll!std::_Invoker_functor::_Call<void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &) &,Aws::S3::S3Client const *,Aws::S3::Model::PutObjectRequest const &,Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> const &,std::shared_ptr<Aws::Client::AsyncCallerContext const> const &>(OpenVDS::UploadRequestAWS::run::__l2::void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &) & _Obj, const Aws::S3::S3Client * && <_Args_0>, const Aws::S3::Model::PutObjectRequest & <_Args_1>, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & <_Args_2>, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & <_Args_3>) Line 1579 C++
otter.dll!std::invoke<void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &) &,Aws::S3::S3Client const *,Aws::S3::Model::PutObjectRequest const &,Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> const &,std::shared_ptr<Aws::Client::AsyncCallerContext const> const &>(OpenVDS::UploadRequestAWS::run::__l2::void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &) & _Obj, const Aws::S3::S3Client * && <_Args_0>, const Aws::S3::Model::PutObjectRequest & <_Args_1>, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & <_Args_2>, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & <_Args_3>) Line 1579 C++
otter.dll!std::_Invoker_ret<void,1>::_Call<void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &) &,Aws::S3::S3Client const *,Aws::S3::Model::PutObjectRequest const &,Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> const &,std::shared_ptr<Aws::Client::AsyncCallerContext const> const &>(OpenVDS::UploadRequestAWS::run::__l2::void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &) & <_Vals_0>, const Aws::S3::S3Client * && <_Vals_1>, const Aws::S3::Model::PutObjectRequest & <_Vals_2>, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & <_Vals_3>, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & <_Vals_4>) Line 1598 C++
otter.dll!std::_Func_impl_no_alloc<void <lambda>(const Aws::S3::S3Client *, const Aws::S3::Model::PutObjectRequest &, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> &, const std::shared_ptr<Aws::Client::AsyncCallerContext const> &),void,Aws::S3::S3Client const *,Aws::S3::Model::PutObjectRequest const &,Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> const &,std::shared_ptr<Aws::Client::AsyncCallerContext const> const &>::_Do_call(const Aws::S3::S3Client * && <_Args_0>, const Aws::S3::Model::PutObjectRequest & <_Args_1>, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & <_Args_2>, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & <_Args_3>) Line 927 C++
aws-cpp-sdk-s3.dll!std::_Func_class<void,Aws::S3::S3Client const *,Aws::S3::Model::PutObjectRequest const &,Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> const &,std::shared_ptr<Aws::Client::AsyncCallerContext const> const &>::operator()(const Aws::S3::S3Client * <_Args_0>, const Aws::S3::Model::PutObjectRequest & <_Args_1>, const Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> & <_Args_2>, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & <_Args_3>) Line 970 C++
aws-cpp-sdk-s3.dll!Aws::S3::S3Client::PutObjectAsyncHelper(const Aws::S3::Model::PutObjectRequest & request, const std::function<void __cdecl(Aws::S3::S3Client const *,Aws::S3::Model::PutObjectRequest const &,Aws::Utils::Outcome<Aws::S3::Model::PutObjectResult,Aws::Client::AWSError<enum Aws::S3::S3Errors>> const &,std::shared_ptr<Aws::Client::AsyncCallerContext const> const &)> & handler, const std::shared_ptr<Aws::Client::AsyncCallerContext const> & context) Line 3316 C++
aws-cpp-sdk-s3.dll!Aws::S3::S3Client::PutObjectAsync::__l2::<lambda>() Line 3311 C++
aws-cpp-sdk-s3.dll!std::_Invoker_functor::_Call<void <lambda>(void) &>(Aws::S3::S3Client::PutObjectAsync::__l2::void <lambda>(void) & _Obj) Line 1579 C++
aws-cpp-sdk-s3.dll!std::invoke<void <lambda>(void) &>(Aws::S3::S3Client::PutObjectAsync::__l2::void <lambda>(void) & _Obj) Line 1579 C++
aws-cpp-sdk-s3.dll!std::_Invoker_ret<std::_Unforced,0>::_Call<void <lambda>(void) &>(Aws::S3::S3Client::PutObjectAsync::__l2::void <lambda>(void) & <_Vals_0>) Line 1615 C++
aws-cpp-sdk-s3.dll!std::_Call_binder<std::_Unforced,void <lambda>(void),std::tuple<>,std::tuple<>>(std::_Invoker_ret<std::_Unforced,0> __formal, std::integer_sequence<unsigned __int64> __formal, Aws::S3::S3Client::PutObjectAsync::__l2::void <lambda>(void) & _Obj, std::tuple<> & _Tpl, std::tuple<> && _Ut) Line 1402 C++
aws-cpp-sdk-s3.dll!std::_Binder<std::_Unforced,void <lambda>(void)>::operator()<>() Line 1442 C++
aws-cpp-sdk-s3.dll!std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,void <lambda>(void)> &>(std::_Binder<std::_Unforced,void <lambda>(void)> & _Obj) Line 1579 C++
aws-cpp-sdk-s3.dll!std::invoke<std::_Binder<std::_Unforced,void <lambda>(void)> &>(std::_Binder<std::_Unforced,void <lambda>(void)> & _Obj) Line 1579 C++
aws-cpp-sdk-s3.dll!std::_Invoker_ret<void,1>::_Call<std::_Binder<std::_Unforced,void <lambda>(void)> &>(std::_Binder<std::_Unforced,void <lambda>(void)> & <_Vals_0>) Line 1598 C++
aws-cpp-sdk-s3.dll!std::_Func_impl_no_alloc<std::_Binder<std::_Unforced,void <lambda>(void)>,void>::_Do_call() Line 927 C++
aws-cpp-sdk-core.dll!std::_Func_class<void>::operator()() Line 970 C++
aws-cpp-sdk-core.dll!Aws::Utils::Threading::DefaultExecutor::SubmitToThread::__l2::<lambda>() Line 29 C++
aws-cpp-sdk-core.dll!std::_Invoker_functor::_Call<void <lambda>(void)>(Aws::Utils::Threading::DefaultExecutor::SubmitToThread::__l2::void <lambda>(void) && _Obj) Line 1579 C++
aws-cpp-sdk-core.dll!std::invoke<void <lambda>(void)>(Aws::Utils::Threading::DefaultExecutor::SubmitToThread::__l2::void <lambda>(void) && _Obj) Line 1579 C++
aws-cpp-sdk-core.dll!std::thread::_Invoke<std::tuple<void <lambda>(void)>,0>(void * _RawVals) Line 43 C++
ucrtbased.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Line 97 C++
```Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/1vanilla checkout build fails on linux2019-12-20T08:47:12ZJackie Livanilla checkout build fails on linuxfails with:
```
open-vds/src/IO/IOManagerAzure.cpp:20:10: fatal error: was/common.h: No such file or directory
#include <was/common.h>
^~~~~~~~~~~~~~
compilation terminated.
src/CMakeFiles/openvds_objects.dir/build.make:127: ...fails with:
```
open-vds/src/IO/IOManagerAzure.cpp:20:10: fatal error: was/common.h: No such file or directory
#include <was/common.h>
^~~~~~~~~~~~~~
compilation terminated.
src/CMakeFiles/openvds_objects.dir/build.make:127: recipe for target 'src/CMakeFiles/openvds_objects.dir/IO/IOManagerAzure.cpp.o' failed
```https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/3VolumeDataAccessor Clone() method is not implemented2020-01-03T14:48:54ZMorten OfstadVolumeDataAccessor Clone() method is not implementedThis method is used to clone a VolumeDataAccessor e.g. when used in a firstprivate() clause of an OpenMP parallel construct. It implements ref-counted shared access to the underlying VolumeDataPageAccessor while maintaining the pinned pa...This method is used to clone a VolumeDataAccessor e.g. when used in a firstprivate() clause of an OpenMP parallel construct. It implements ref-counted shared access to the underlying VolumeDataPageAccessor while maintaining the pinned page state separately for each thread. A test needs to be added to ensure that this works as intended.Version 1.0Morten OfstadMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/13Create a slice server example2020-01-27T14:05:48ZMorten OfstadCreate a slice server exampleCreate an example code that serves PNG images of slices of seismic over HTTP using Python and Flask. This shows off the Python API and is a realistic use-case for the technology.Create an example code that serves PNG images of slices of seismic over HTTP using Python and Flask. This shows off the Python API and is a realistic use-case for the technology.Version 1.0Morten OfstadMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/9SEGYScan and SEGYUpload tools should be merged2020-01-27T14:06:35ZMorten OfstadSEGYScan and SEGYUpload tools should be mergedThere is no need to have two separate tools for scanning and uploading SEG-Y files, the command line options of both should be available and an additional --scan-only parameter can be added to tell it to only scan the file and write the ...There is no need to have two separate tools for scanning and uploading SEG-Y files, the command line options of both should be available and an additional --scan-only parameter can be added to tell it to only scan the file and write the results of the scanning to a JSON file. The merged command-line tool should be named SEGYImport to be consistent with the naming of the SEGYExport tool.Version 1.0https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/15Python will not error on openvds.open() when incorrect credentials2020-02-04T13:35:46ZMarius Storm-Olsenmarius@bluware.comPython will not error on openvds.open() when incorrect credentialsThe following code will give you a None handle without any error code/string.
The None handle will still give you a valid VolumeDataAccessManager, but the subsequent VolumeSubsetRequest will fail:
```python
import openvds
import numpy
...The following code will give you a None handle without any error code/string.
The None handle will still give you a valid VolumeDataAccessManager, but the subsequent VolumeSubsetRequest will fail:
```python
import openvds
import numpy
AWS_BUCKET = 'bluware-vds-public-eu-north-1'
AWS_REGION = 'eu-north-1'
AWS_OBJECTID = '5790BB045F835E6B'
opt = openvds.AWSOpenOptions(bucket=AWS_BUCKET, region=AWS_REGION, key=AWS_OBJECTID)
err = openvds.Error()
try:
ovds = openvds.open(opt, err)
except:
print('Failed to Open VDS:' + err.string)
if err.code != 0:
print('Error code: ' + err.code)
if ovds is None:
print('No valid handle')
print(ovds)
acc = openvds.VolumeDataAccessManager(ovds)
print(acc)
r = acc.requestVolumeSubset((0,0,0),(100,100,100))
print(r)
```
![image](/uploads/05d9c8d026fdf5814b54179543a1f5fb/image.png)
With proper credentials, we get success:
![image](/uploads/8c644d2da0bcfe8ce46e9aafee00daf6/image.png)https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/27Metadata Page download race2020-02-19T14:31:44ZJørgen Lindjorgen.lind@3lc.aiMetadata Page download raceWhen receiving an invalid metadata page there is a race leading to a deadlock.When receiving an invalid metadata page there is a race leading to a deadlock.Version 1.0Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/32SEGYImport should be able to import SEG-Y from S3 or Azure Blob Storage2020-03-10T10:26:24ZMorten OfstadSEGYImport should be able to import SEG-Y from S3 or Azure Blob StorageThis requires making it possible to instantiate and use an IOManager from a client of the OpenVDS API (in this case the SEGYImport command-line tool). It also requires adding command line options to provide the required OpenOptions to th...This requires making it possible to instantiate and use an IOManager from a client of the OpenVDS API (in this case the SEGYImport command-line tool). It also requires adding command line options to provide the required OpenOptions to that IOManager to the SEGYImport command and matching the input files to a pattern so s3:// is recognized as a file in an S3 Blob and getting some advice from Microsoft on how to refer to data on Azure Blob Storage.Version 1.0https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/26Make IO tests for Error situations2020-03-10T10:27:10ZJørgen Lindjorgen.lind@3lc.aiMake IO tests for Error situationsWe need to be able to handle errors in the IO stack more gracefully. This needs some unit tests.
Make a facade IOManager to be able to fake IO errors and then create tests to verify behaviour for scenarios that include:
- Invalid Meta d...We need to be able to handle errors in the IO stack more gracefully. This needs some unit tests.
Make a facade IOManager to be able to fake IO errors and then create tests to verify behaviour for scenarios that include:
- Invalid Meta data Page data
- Invalid Mata data Page http request
- Invalid Data chunk data
- Invalid Data chunk http download
- Invalid Meta data Page upload
- Invalid Data chunk upload
- Invalid VolumeDataPage upload
- Invalid VolumeDataPage download
- Invalid TraceHeaders upload
- Invalid TraceHeaders downloadsVersion 1.0Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/17Add a benchmarking tool2020-03-10T10:28:09ZMorten OfstadAdd a benchmarking toolThe VDSBenchmark should have options to read the whole dataset as slices (along any axis) and tiles, control how many requests are in the queue and size of tiles. It should report detailed timings and MB/s rate.The VDSBenchmark should have options to read the whole dataset as slices (along any axis) and tiles, control how many requests are in the queue and size of tiles. It should report detailed timings and MB/s rate.Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/31AWS authentication fails with assumed roles2020-03-10T14:40:43ZMorten OfstadAWS authentication fails with assumed rolesThis is actually caused by an issue in the AWS C++ SDK where configurations with assumed roles are ignored by the DefaultCredentialsProviderChain: https://github.com/aws/aws-sdk-cpp/issues/150
However, we need to find a workaround as th...This is actually caused by an issue in the AWS C++ SDK where configurations with assumed roles are ignored by the DefaultCredentialsProviderChain: https://github.com/aws/aws-sdk-cpp/issues/150
However, we need to find a workaround as this was promised to be fixed "incredibly soon" back in 2016 and still isn't fixed.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/29SEGYExport won't export datasets where Dimensions_012 is unavailable2020-03-27T08:48:38ZMorten OfstadSEGYExport won't export datasets where Dimensions_012 is unavailableThis prevents SEGYExport from working correctly on 2D datasets or in other cases where Dimensions_01 is available but Dimensions_012 is not. It also won't work with crossline-oriented prestack or poststack seismic where the primary key c...This prevents SEGYExport from working correctly on 2D datasets or in other cases where Dimensions_01 is available but Dimensions_012 is not. It also won't work with crossline-oriented prestack or poststack seismic where the primary key corresponds to dimension 1 instead of dimension 2. We should identify which dimensions correspond to the sample dimension and always loop over the primary dimension. We should also read either from the 3D dimension group or the 2D dimension group that contains the first two dimensions of the 3D dimension group.Morten OfstadJørgen Lindjorgen.lind@3lc.aiMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/30SEGYExport doesn't work with other formats than IBM-float2020-03-27T12:41:37ZMorten OfstadSEGYExport doesn't work with other formats than IBM-floatThere are no checks to see what DataSampleFormat the original file used, and there are no checks for the format of the input VDS. The default should be to export as integer data when the VDS is U8 or U16 with bias corresponding to signed...There are no checks to see what DataSampleFormat the original file used, and there are no checks for the format of the input VDS. The default should be to export as integer data when the VDS is U8 or U16 with bias corresponding to signed integer, and to honor any DataSampleFormatCode metadata in the SEGY category and failing that we can peek at the original binary header to see if that indicates using IEEE.Morten OfstadMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/home/-/issues/2[Seismic DMS] to provide coverage for metadata2020-04-03T19:57:59ZCelina Marcolinocsilva10@slb.com[Seismic DMS] to provide coverage for metadataCreate proper metadata coverage to contemplate the following: survey/geometry definition, survey type, acquisition/processing headers, dataset header information, ...
Ensure we check datamodel from https://gitlab.opengroup.org/osdu/json...Create proper metadata coverage to contemplate the following: survey/geometry definition, survey type, acquisition/processing headers, dataset header information, ...
Ensure we check datamodel from https://gitlab.opengroup.org/osdu/json-schemas.https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/25SEGYImport should create ImportInformation metadata2020-04-08T09:57:24ZMorten OfstadSEGYImport should create ImportInformation metadataThe ImportInformation metadata category was recently added to include more information about original file name and time of import, SEGYImport should generate this metadata.The ImportInformation metadata category was recently added to include more information about original file name and time of import, SEGYImport should generate this metadata.Version 1.0Morten OfstadMorten Ofstadhttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/home/-/issues/4[Seismic DDMS] Integration with Core Services2020-04-10T00:45:36ZCelina Marcolinocsilva10@slb.com[Seismic DDMS] Integration with Core ServicesProvide integration with CORE Services:
1. Impact on reference systems (CRS, Units, Elevation references such as SRD)...
2. Authentication, signed URL generation, authorization, ... ensure to work in an OSDU context against other CSP b...Provide integration with CORE Services:
1. Impact on reference systems (CRS, Units, Elevation references such as SRD)...
2. Authentication, signed URL generation, authorization, ... ensure to work in an OSDU context against other CSP backends.M1 - Release 0.1https://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/35SEGYImport should split network get requests into chunks of max 8 MB2020-04-16T13:01:05ZJørgen Lindjorgen.lind@3lc.aiSEGYImport should split network get requests into chunks of max 8 MBJørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/34zlib use intrinsics on windows2020-04-16T13:03:29ZJørgen Lindjorgen.lind@3lc.aizlib use intrinsics on windowsNeed to pick up the cpu architecture and set the correct cmake flagsNeed to pick up the cpu architecture and set the correct cmake flagsJørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.aihttps://community.opengroup.org/osdu/platform/domain-data-mgmt-services/seismic/open-vds/-/issues/37Bug when using WaitForCompletion(request, 1000)2020-04-23T11:43:08ZCamille PerinBug when using WaitForCompletion(request, 1000)The bug occurs when I try to display some progress information while requesting data.
I use :
```
while (!accessManager->WaitForCompletion(request, 1000)) {
if (accessManager->IsCanceled(request)) {
fmt::pri...The bug occurs when I try to display some progress information while requesting data.
I use :
```
while (!accessManager->WaitForCompletion(request, 1000)) {
if (accessManager->IsCanceled(request)) {
fmt::print(stdout, "Request canceled\n");
break;
}
fmt::print(stdout, "Progress : {} %\n", accessManager->GetCompletionFactor(request) * 100.);
}
```
instead of
```
bool finished = accessManager->WaitForCompletion(request);
```
I get this error :
```
/data/openSDU/openVDS/open-vds/cmake-build-debug/examples/SliceDump/slicedump --bucket openvds-test-int --region eu-west-3 --object vds/alwynDepth_w_IL_XL_IEEEFloat /tmp/slice.bmp --axis 2,1,0 --position 500 --progress
Using axis mapping [2, 1, 0]
Found data set with sample count [1163, 849, 1101]
Launch request ... OK
slicedump: /data/openSDU/openVDS/open-vds/src/OpenVDS/VDS/VolumeDataRequestProcessor.cpp:161: void OpenVDS::SetErrorForJob(OpenVDS::Job*): Assertion `job->cancelled' failed.
Process finished with exit code 6
```Jørgen Lindjorgen.lind@3lc.aiJørgen Lindjorgen.lind@3lc.ai