[MDSAL-119] Sometimes getting "SchemaResolutionException" exception when starting controller. Created: 02/Dec/15 Updated: 09/Mar/18 Resolved: 26/Jan/18 |
|
| Status: | Resolved |
| Project: | mdsal |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Sharon Aicler | Assignee: | Unassigned |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Attachments: |
|
| External issue ID: | 4702 |
| Priority: | Normal |
| Description |
|
AAA is using MDSAL DataBroker for clustering the AAA user/pass/token data. Since we moved to MDSAL we are getting a lot of complain from different users that their unable to login. After investigation, we found that the root cause of this is that the cluster data broker isn't loading properly due to the following exception: SchemaResolutionException{unsatisfiedImports={SourceIdentifier [name=opendaylight-flow-table-statistics@2013-12-15]=[ModuleImportImpl [n... (full log attached) Due to that, AAA transactions are timing out and the user is unable to login or get a token. |
| Comments |
| Comment by Sharon Aicler [ 02/Dec/15 ] |
|
Attachment karaf.zip has been added with description: The log with the exception in it + showing that AAA transactions are timing out. |
| Comment by Martin Ciglan [ 03/Dec/15 ] |
|
extract from logs: 2015-11-24 20:16:05,209 | INFO | l for user karaf | YangTextSchemaContextResolver | 78 - org.opendaylight.yangtools.yang-parser-impl - 0.8.0.SNAPSHOT | Failed to fully assemble schema context for [SourceIdentifier [name=yang-ext@2013-07-09], SourceIdentifier [name=iana-afn-safi@2013-07-04], SourceIdentifier [name=iana-if-type@2014-05-08], SourceIdentifier [name=ietf-inet-types@2010-09-24], SourceIdentifier [name=ietf-interfaces@2014-05-08], SourceIdentifier [name=ietf-yang-types@2010-09-24], SourceIdentifier [name=ietf-yang-types@2013-07-15], SourceIdentifier [name=ietf-restconf@2013-10-19], SourceIdentifier [name=opendaylight-l2-types@2013-08-27], SourceIdentifier [name=ted@2013-07-12], SourceIdentifier [name=ted@2013-10-21], SourceIdentifier [name=network-topology@2013-07-12], SourceIdentifier [name=network-topology@2013-10-21], SourceIdentifier [name=isis-topology@2013-07-12], SourceIdentifier [name=isis-topology@2013-10-21], SourceIdentifier [name=ospf-topology@2013-07-12], SourceIdentifier [name=ospf-topology@2013-10-21], SourceIdentifier [name=l3-unicast-igp-topology@2013-07-12], SourceIdentifier [name=l3-unicast-igp-topology@2013-10-21], SourceIdentifier [name=ietf-network-topology@2015-06-08], SourceIdentifier [name=ietf-network@2015-06-08], SourceIdentifier [name=ietf-inet-types@2013-07-15], SourceIdentifier [name=config@2013-04-05], SourceIdentifier [name=rpc-context@2013-06-17], SourceIdentifier [name=general-entity@2015-08-20], SourceIdentifier [name=opendaylight-entity-ownership-service@2015-08-10], SourceIdentifier [name=shutdown@2013-12-18], SourceIdentifier [name=shutdown-impl@2013-12-18], SourceIdentifier [name=netty@2013-11-19], SourceIdentifier [name=netty-event-executor@2013-11-12], SourceIdentifier [name=threadgroup@2013-11-07], SourceIdentifier [name=netty-timer@2013-11-19], SourceIdentifier [name=threadpool@2013-04-09], SourceIdentifier [name=threadpool-impl-fixed@2013-12-01], SourceIdentifier [name=threadpool-impl-flexible@2013-12-01], SourceIdentifier [name=threadpool-impl-scheduled@2013-12-01], SourceIdentifier [name=threadpool-impl@2013-04-05], SourceIdentifier [name=opendaylight-config-dom-datastore@2014-06-17], SourceIdentifier [name=opendaylight-md-sal-common@2013-10-28], SourceIdentifier [name=opendaylight-md-sal-dom@2013-10-28], SourceIdentifier [name=opendaylight-operational-dom-datastore@2014-06-17], SourceIdentifier [name=opendaylight-sal-binding-broker-impl@2013-10-28], SourceIdentifier [name=opendaylight-md-sal-binding@2013-10-28], SourceIdentifier [name=opendaylight-inmemory-datastore-provider@2014-06-17], SourceIdentifier [name=opendaylight-sal-dom-broker-impl@2013-10-28], SourceIdentifier [name=opendaylight-pingpong-broker@2014-11-07], SourceIdentifier [name=actor-system-provider-service@2015-10-05], SourceIdentifier [name=remote-rpc-connector@2014-07-07], SourceIdentifier [name=actor-system-provider-impl@2015-10-05], SourceIdentifier [name=cluster-admin-provider@2015-10-13], SourceIdentifier [name=cluster-admin@2015-10-13], SourceIdentifier [name=distributed-datastore-provider@2014-06-12], SourceIdentifier [name=distributed-entity-ownership-service@2015-08-10], SourceIdentifier [name=entity-owners@2015-08-04], SourceIdentifier [name=odl-concurrent-data-broker-cfg@2014-11-24], SourceIdentifier [name=netconf-node-inventory@2014-01-08], SourceIdentifier [name=opendaylight-inventory@2013-08-19], SourceIdentifier [name=opendaylight-topology-inventory@2013-10-30], SourceIdentifier [name=opendaylight-topology-view@2013-10-30], SourceIdentifier [name=opendaylight-topology@2013-10-30], SourceIdentifier [name=opendaylight-action-types@2013-11-12], SourceIdentifier [name=opendaylight-flow-types@2013-10-26], SourceIdentifier [name=opendaylight-group-types@2013-10-18], SourceIdentifier [name=opendaylight-match-types@2013-10-26], SourceIdentifier [name=opendaylight-meter-types@2013-09-18], SourceIdentifier [name=opendaylight-port-types@2013-09-25], SourceIdentifier [name=opendaylight-queue-types@2013-09-25], SourceIdentifier [name=opendaylight-table-types@2013-10-26], SourceIdentifier [name=opendaylight-flow-statistics@2013-08-19], SourceIdentifier [name=opendaylight-flow-table-statistics@2013-12-15], SourceIdentifier [name=opendaylight-group-statistics@2013-11-11], SourceIdentifier [name=opendaylight-meter-statistics@2013-11-11], SourceIdentifier [name=opendaylight-port-statistics@2013-12-14], SourceIdentifier [name=opendaylight-queue-statistics@2013-12-16], SourceIdentifier [name=opendaylight-statistics-types@2013-09-25]] |
| Comment by Tony Tkacik [ 03/Dec/15 ] |
|
Decreased to normal, since this is known behaviour since Hydrogen: What actually is happening OSGI framework is reporting bundles and models Unfortunatelly we can not affect the order in which OSGI is reporting bundles (and thus models), so sometimes startup takes longer. |
| Comment by Vratko Polak [ 03/Dec/15 ] |
|
Lithium > sometimes startup takes longer. I am not sure about this bug, but |
| Comment by Vratko Polak [ 04/Dec/15 ] |
|
|
| Comment by Ryan Goulding [ 09/Dec/15 ] |
|
No... |
| Comment by Robert Varga [ 10/Dec/15 ] |
|
So we are activating via a plain old activator/ServiceTracker. I think this could be solved by activating AAA via config subsystem – where the activation can wait until a specific model is available in the global SchemaContext. E.g. in the config xml file specify the capability corresponding to the model required for proper operation and then the config pusher will know to wait. We have applied this workaround a couple of times since Helium, if I remember correctly. Would that work or is OSGi activation strictly required? |
| Comment by Tom Pantelis [ 10/Dec/15 ] |
|
What was the sequence that led up to this? From the stack trace, the resolution error occurs after a bundleChanged event which tells me that this was a result of doing a manual feature:install. Is that correct? Since the GlobalBundleScanningSchemaServiceImpl scans resolved bundles this shouldn't happen on a restart or if featuresBoot is used b/c it gets all bundles at once and all yang models should be available when GlobalBundleScanningSchemaServiceImpl is activated and tries to build the schema context he first time. |
| Comment by Tom Pantelis [ 10/Dec/15 ] |
|
Also, even on feature:install, all new bundles have to be resolved before it can start activating them. So even if the GlobalBundleScanningSchemaServiceImpl failed initially b/c it hadn't gotten notified of a dependent yang model bundle yet, it should eventually get all the bundle change events and succeed. At least that's what I think - I may be missing something. I would suggest turning on GlobalBundleScanningSchemaServiceImpl debug to see if that's the case. Does the clustered data store fail to initialize and is rendered useless b/c of this? Or is it just AAA that is affected? If the former then this is a bigger problem and the rest of the system is hosed so it doesn't really matter that AAA can't authenticate and not using md-sal in AAA isn't really a solution. If the latter then Robert's suggestion sounds like it should work. (In reply to Tom Pantelis from comment #7) |
| Comment by Robert Varga [ 26/Jan/18 ] |
|
Cannot reproduce this anymore. |