[CONTROLLER-632] Livelock during starting bundles Created: 16/Jul/14 Updated: 25/Jul/14 Due: 25/Jul/14 Resolved: 25/Jul/14 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | config |
| Affects Version/s: | Helium |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Richard Kosegi | Assignee: | Tony Tkacik |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Attachments: |
|
| External issue ID: | 1378 |
| Description |
|
There is kind of lock during ODL startup: 2014-07-16 05:42:17.128 PDT [DeadlockMonitor{TransactionIdentifier{name='ConfigTransaction-64-66'}}] WARN o.o.c.c.m.i.DeadlockMonitor$DeadlockMonitorRunnable - ModuleIdentifier {factoryName='instruction-scheduler-impl', instanceName='global-instruction-scheduler'} did not finish after 5982 ms2014-07-16 05:42:18.129 PDT [DeadlockMonitor{TransactionIdentifier{name='ConfigTransaction-64-66'}}] WARN o.o.c.c.m.i.DeadlockMonitor$DeadlockMonitorRunnable - ModuleIdentifier{factoryName='instruction-scheduler-impl', instanceName='global-instruction-scheduler'} did not finish after 6983 ms 2014-07-16 05:42:20.131 PDT [DeadlockMonitor{TransactionIdentifier{name='ConfigTransaction-64-66'}}] WARN o.o.c.c.m.i.DeadlockMonitor$DeadlockMonitorRunnable - ModuleIdentifier{factoryName='instruction-scheduler-impl', instanceName='global-instruction-scheduler'} did not finish after 8985 ms 2014-07-16 05:42:22.133 PDT [DeadlockMonitor{TransactionIdentifier{name='ConfigTransaction-64-66'}}] WARN o.o.c.c.m.i.DeadlockMonitor$DeadlockMonitorRunnable - ModuleIdentifier{factoryName='instruction-scheduler-impl', instanceName='global-instruction-scheduler'} did not finish after 10987 ms 2014-07-16 05:42:24.135 PDT [DeadlockMonitor{TransactionIdentifier{name='ConfigTransaction-64-66'}}] WARN o.o.c.c.m.i.DeadlockMonitor$DeadlockMonitorRunnable - ModuleIdentifier{factoryName='instruction-scheduler-impl', instanceName='global-instruction-scheduler'} did not finish after 12989 ms Please look at threads fileinstall and configpusher. Full threadump attached. |
| Comments |
| Comment by Richard Kosegi [ 16/Jul/14 ] |
|
Attachment deadlock_opendaylight.log has been added with description: Threaddump |
| Comment by Tomas Olvecky [ 17/Jul/14 ] |
|
I believe this is happening: The pushed XML should declare that it is dependent on that yang model in required-capabilities section. Furthermore, RuntimeGeneratedMappingServiceImpl.waitForSchema should be implemented such that it periodically logs the schema on which it is waiting, similar to how DeadlockMonitor in c-s works. pseudocode: while true: {future.get(5secs);log.warn "waiting for schema foo";} |
| Comment by Tony Tkacik [ 23/Jul/14 ] |
|
Updated config subsystem to not use platform thread to do blocking transactions |