Comments (7)
I think that would be consistent with the local repositories.
from egeria-connector-ibm-information-server.
If this doesn't apply to other connectors feel free to TRANSFER accordingly...
from egeria-connector-ibm-information-server.
This might be IGC connector-specific: at the moment there seems to be a particular ordering I'm reliant on between the overridden initialize()
, setMetadataCollectionId()
and start()
methods to be able to setup the OMRSMetadataCollection with a valid connection to the underlying IGC repository -- and the audit log is only available (to log records beyond the developer logs) as of the start()
method...
If I'm only able to initialize the OMRSMetadataCollection after I've setup the IGC connection, but this must occur before the start()
method is called, then I think we may have a more general problem in terms of sequencing (that is likely to affect other connectors as well)...
Need to work through the detailed sequencing -- will leave here for now, but assign to me.
from egeria-connector-ibm-information-server.
Looks like the following sequence occurs at startup:
- EventMapper -- initialize()
- Connector -- initialize()
- Connector -- setMetadataCollectionId()
- EventMapper -- setMetadataCollectionId()
- Connector -- getMetadataCollection()
If I move all of the logic of setting up the connection to IGC itself into the start()
method of the connector, that is never called before getting to the getMetadataCollection()
call above -- which means that call will then result in an OMRS-REPOSITORY-400-025
(null metadata collection)...
@mandy-chessell is this expected? Should I:
- move my logic to actually setup the metadata collection (which to be reliable requires me to first ensure I can connect to the IGC host itself) into the
getMetadataCollection()
method (keeping in mind that I have no audit log there to record what's happening with the IGC connectivity)? - or is there another issue in that the
start()
method of the connector should be called before thegetMetadataCollection()
method? - or should I not assume that my metadata collection itself has a working IGC client connection at the time of construction, but have every single method in the class first check for such a connection's existence (again, though, I don't think I have any audit log access from the metadata collection, so no way to record anything about IGC connectivity)?
from egeria-connector-ibm-information-server.
Think I might have just answered it -- actual ordering (with audit log) is:
- EventMapper -- initialize()
- EventMapper -- setAuditLog()
- Connector -- initialize()
- Connector -- setAuditLog()
- Connector -- setMetadataCollectionId()
- EventMapper -- setMetadataCollectionId()
- Connector -- getMetadataCollection()
So it seems that the audit log actually should be available just after the initialize()
(ie. before the getMetadataCollection()
). Therefore I think I can go for the first bullet above?
from egeria-connector-ibm-information-server.
Ok, I've got the ordering working -- now the issue seems to be that the audit log only reports out the very top of the problem stack, so in the case where we say try to connect to a nonexistent host, the only message we get out (even though there is a deeper chain of exceptions that are far more descriptive that the connection was refused or the host is unknown) is that the failure is due to a null metadata collection...
from egeria-connector-ibm-information-server.
Should be fixed by odpi/egeria#2384
from egeria-connector-ibm-information-server.
Related Issues (20)
- Lack of context for data_files without data_file_folders HOT 8
- NPE when trying to get EntityDetail for rid that is not present in IGC
- Implement a NOOP event mapper HOT 1
- findEntities with multiple conditions does not return entities HOT 1
- Add differentiation between primary and secondary categories HOT 1
- Property 'assigned_to_terms' no longer supported for searching using 'main_object' generic type HOT 1
- Implement new classification for primary category HOT 1
- IGC repository connector - validation for instance properties mapped with wrong primitive type HOT 3
- Data Stage connector support for high level lienage HOT 7
- Results for a relationship search by type (with multiple mappings) extend beyond pageSize
- Improve handling of complex search criteria for findEntities method HOT 2
- Searching for NEQ minCardinality on SchemaAttributes does not work
- repository-services getEntityDetail is ignoring MetadataCollectionId part of GUID HOT 2
- Move data_file_field mappings from TabularColumn to TabularFileColumn
- Data Stage connector batch processing sync state per instance
- Possible inconsistent behaviour HOT 2
- Data Stage connector capability to process virtual assets
- Mapping new typedef properties (Failed test ConnectorTest.verifySupportedTypes) HOT 2
- Can igc-adapter create anchor classifications for data asset types?
- SonarCloud Quality Gate Code duplication rule too restrictive HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from egeria-connector-ibm-information-server.